Symulator gry na giełdzie "Stock Shark"

Wielkość: px
Rozpocząć pokaz od strony:

Download "Symulator gry na giełdzie "Stock Shark""

Transkrypt

1 Marcin Fijałkowski, Wrocław, Piotr Kłys, Mateusz Krawczyk, grupa WT/13 Symulator gry na giełdzie "Stock Shark" Dokumentacja do projektu z Zastosowania Informatyki w Gospodarce rok akad. 2011/2012, kierunek INF prowadzący: dr inż. Katarzyna Nowak

2 Spis treści 1. Cel i założenia projektu Technologia wykonania Mapa portalu Nawigacja Mapa URL Przykładowe screeny Struktura projektu Struktura projektu głównego Struktura projektu z testami Warstwa modelu i baza danych Ogólne informacje Schemat bazy danych Opis modelu danych Notowania giełdowe Testy

3 1. Cel i założenia projektu Celem naszego projektu było stworzenie aplikacji symulującej grę na giełdzie. Stworzona została aplikacja webowa, do której każdy z graczy będzie miał dostęp poprzez przeglądarkę internetową. Dzięki takiemu rozwiązaniu do aktywnego grania wystarczy dowolny komputer z dostępem do Internetu. Każdy gracz swoją przygodę z giełdą zaczyna od zarejestrowania się w systemie. Następnie zakłada swoje wirtualne konta - może być ich maksymalnie 5, a na każdym z nich początkowo znajduję się PLN. Dzięki tym rachunkom gracz ma możliwość nabywać, a później handlować wirtualnymi instrumentami finansowymi. Oczywistym celem gry jest uzyskanie jak największego zysku, dzięki odpowiedniemu zarządzaniu swoimi rachunkami. W razie bankructwa któregoś z kont można w jego miejsce utworzyć nowe. Prowadzony jest również ranking graczy - na podstawie sumarycznej wartości wszystkich kąt. Instrumenty finansowe, którymi uczestnicy gry będą handlować dzielimy na: akcje spółek notowanych na GPW - Rynek Główny oraz New Connect indeksy notowane na GPW waluty obce surowce Ceny wszystkich dostępnych w grze instrumentów finansowych są zgodne z realnymi kursami na Giełdzie Papierów Wartościowych. Gracze mają również dostęp do wykresów, pokazujących jak kształtowały się w czasie wartości poszczególnych akcji, można sprawdzić historię operacji na każdym z rachunków, wartość portfela z uwzględnieniem poszczególnych instrumentów. Do dyspozycji użytkowników jest także słownik pojęć giełdowych, harmonogram pracy giełdy oraz wprowadzenie do świata gry giełdowej. Zarządzanie projektem odbywało się drogą internetową oraz na spotkaniach grupy. Aby w prosty sposób wymieniać się plikami z kodem źródłowym, skryptami użyliśmy technologii SVN i odpowiednich narzędzi wykorzystujących ją. Dodatkowo został założony GoogleCode, na którym jest umieszczony harmonogram projektu, podział zadań, linki do stron pomocnych w tworzeniu aplikacji. 3

4 2. Technologia wykonania Głównym językiem, w którym została wykonana aplikacja jest C# oraz technologia.net. Jest to język stworzony specjalnie do współpracy z frameworkiem.net (bez niego program się nie uruchomi). Ma on wiele cech wspólnych z innymi językami takimi jak C++ czy Java. Dodatkowo została użyta platforma aplikacyjna ASP.NET MVC, która została stworzona z myślą o aplikacjach internetowych. Wybór systemu bazodanowego był w dużym stopniu podyktowany wcześniejszymi technologiami, które zostały wybrane. MSSQL zapewnia wszystkie niezbędne narzędzia do sprawnego działania projektu. Nasz projekt jest aplikacją webową więc nie mogło zabraknąć w nim takich elementów jak (X)HTML i CSS, które odpowiadają za wygląd w przeglądarce, a także rozkład stron. Użyliśmy też powiązane z wcześniej wymienioną Javą - JavaScript i JQuery. Są to języki najczęściej wykorzystywane w tworzeniu stron internetowych i różnych z tym związanych elementów. Należy też wspomnieć o Entity Framework, który jest narzędziem przeznaczonym do budowania aplikacji dwu - i trzy - warstwowych co w znacznym stopniu ułatwia tworzenie bardziej zaawansowanych aplikacji. Użyty został także język LINQ, który jest także integralną częścią środowiska.net. Umożliwia on zadawanie pytań na obiektach, a jego składnia przypomina język SQL. Dzięki niemu mamy powiązanie z bazą danych, XML. Do tworzenia wykresów użyta została biblioteka FLOT, która pracuje pod JQuery. Najważniejszą technologią, którą wykorzystaliśmy jest MVC czyli Model View Controller. Jest to architektoniczny wzorzec projektowy w informatyce, który służy do organizowania struktur aplikacji posiadających graficzne interfejsy użytkownika. Składają się na niego 3 główne części, które są ze sobą wzajemnie połączone: model - jest to pewna reprezentacja problemu bądź logiki aplikacji widok - opisuje, jak wyświetlić pewną część modelu w ramach GUI kontroler - przyjmuje dane od użytkownika, aktualizuje model, odświeża widoki Microsoft przygotował swoją własną implementację MVC. Pozwala ona na budowanie aplikacji z uwzględnieniem wyraźnie odseparowanych modeli, kontrolerów i widoków. Największą zaletą ASP.NET MVC jest duża elastyczność. Aby móc skompilować aplikację należy mieć zainstalowane odpowiednie biblioteki: ASP.NET MVC 3 (http://www.microsoft.com/web/gallery/install.aspx?appsxml=&appid=mvc3).net Framework 4.0 (http://www.microsoft.com/en-us/download/details.aspx?id=17851) MSSQL Express 2008 (http://www.microsoft.com/en-us/download/details.aspx?id=1695) JQuery (http://blog.jquery.com/2011/11/21/jquery released/) 4

5 3. Mapa portalu 3.1. Nawigacja Po uruchomieniu aplikacji w oknie przeglądarki ukaże się nam strona powitalna, dzięki której możemy przejść do zakładki logowania lub zakładania nowego konta. Dodatkowo mamy informację o czasie serwera oraz czy giełda jest otwarta czy zamknięta. Pierwszą zakładką są "Notowania" - możemy tam podejrzeć jak wyglądają kursy poszczególnych akcji, indeksów, walut i surowców. Wszystkie one są podzielone na identyczne kategorie jak na GPW. Po przejściu do którejś z wymienionych grup widzimy tabelę z najważniejszymi informacjami o danym instrumencie finansowy. Możemy także sprawdzić dokładne informacje każdej akcji, indeksu klikając na jego nazwę. Jest tam również wykres przedstawiający wcześniejsze notowania. Kolejną zakładką, do której mamy dostęp bez logowania się, jest "Gra". Jest to dział, w którym uzyskamy podstawowe informacje na temat gry. W zasadach gry opisane są najważniejsze reguły obowiązujące w aplikacji - cel, maksymalna ilość rachunków, handel instrumentami, prowizje domów maklerskich, informację o notowaniach. Kolejną zakładką jest harmonogram, dzięki któremu wiadomo w jakich godzinach można grać na giełdzie - kiedy są sesje konkretnych rodzajów instrumentów. Następnie jest słownik podstawowych pojęć giełdowych, dzięki któremu będzie łatwiej zrozumieć fachowe nazewnictwo obowiązujące na giełdzie papierów wartościowych. W tym dziale mamy jeszcze ranking najlepszych graczy oraz informację o autorach aplikacji. Po zalogowaniu mamy informację o posiadanych rachunkach i ich zawartości oraz o obserwowanych notowaniach. Wchodząc na konkretny rachunek widzimy zawartość portfela, możemy złożyć zlecenie kupna lub sprzedaży nowych akcji lub już przez nas posiadanych. Dodatkowo możemy obejrzeć wykresy dotyczące bieżącego rachunku (podział portfela, wartość rachunku w czasie) oraz przejrzeć oczekujące zlecenia i historię transakcji Mapa URL Mapa portalu została stworzona zgodnie z routingiem domyślnym technologii ASP.NET MVC: /Home o /Index - strona glowna o /About - informacje techniczne, autorzy, kontakt o /Rules - opis i zasady gry o /Schedule - harmonogram gieldy o /Scoreboard?page=... - ranking o /Watch?item=... - dodawanie do obserowwanych o /Unwatch?item=... - usuwanie z obserwowanych o /Dictionary?letter=... - słownik pojęć 5

6 /Quotations o /Index - odnosniki do stron (List) z poszczegolnymi kategoriami o /List?type=... - alfabetyczna lista walorow danego typu o /Details?item=...&period=... - szczegolowe info dot. danego waloru + wykres na okres period (dzien, tydzien miesiac, etc) /BrokerageAccount o /Index - lista kont maklerskich z odnosnikami o /Details?name=... - dane szczegolowe rachunku o danej nazwie - saldo, lista posiadanych walorow, wartosc sumaryczna portfela, zlecenia i historia transakcji (okrojone) o /History?name=... - pelna historia transakcji na rachunku o danej nazwie (chronologicznie) o /Orders?name=... - pelna lista oczekujacych na wykonanie zlecen na rachunku o danej nazwie (chronologocznie po dacie zlecenia) o /Charts?name=...&period=... - wykresy i statystyki zwiazane z rachunkiem (wykres wartosci portfela na okres period (tydzien, miesiac, etc), wykres podzialu portfela na typy walorow) o /Create - tworzenie nowego rachunku o /Edit?name=... - edycja rachunku o danej nazwie (zmiana nazwy) o /Delete?name=... - usuniecie rachunku o danej nazwie /Order o /BuyList?account=... - lista walorow mozliwych do kupienia o /Buy?account=...&item= - kupno danego walory na danym rachunku o /SellList?account=... - lista walorow mozliwych do sprzedania o /Sell?account=...&item= - sprzedaz danego waloru na danym rachunku o /Cancel?order=... - anulowanie wybranego zlecenia /Account o /ChangePassword - zmiana hasła użytkownika o /ChangePasswordSuccess - pomyślnie wykonana zmiana hasła o /LogOn - logowanie na konto gracza o /Register - rejestracja nowego gracza 6

7 3.3. Przykładowe screeny Poniżej przedstawione zostały zrzuty ekranu z przykładowych stron portalu. Rys 1. Screen strony startowej Rys 2. Screen strony z notowaniami 7

8 Rys 3. Screen strony z wykresami dotyczącymi rachunku maklerskiego Rys 4. Screen strony z danymi i notowaniami wybranej akcji 8

9 4. Struktura projektu Niniejszy projekt wykonany został zgodnie z wzorcem MVC, co oznacza, iż aplikacja podzielona została na trzy główne części - model, widok i kontroler. Struktura projektu odzwierciedla ten podział, rozszerzając go jednocześnie w celu ujęcia aspektów projektu nie związanych bezpośrednio z jej kodem źródłowym, takich jak skrypty JavaScript i arkusze stylów CSS. Ponadto cały projekt (solucja) podzielony został na dwa podprojekty - projekt główny aplikacji oraz projekt zawierający testy Struktura projektu głównego Poniżej przedstawione i opisane zostały najważniejsze elementy składające się na całość projektu głównego, zgodnie z ich hierarchią. /References/ - katalog ten zawiera referencje do wszystkich bibliotek wykorzystywanych do kompilacji i konsolidacji programu. Visual Studio dodaje większość wymaganych referencji automatycznie przy tworzeniu nowego projektu ASP.NET MVC, należy się jednak upewnić co do kilku elementów, które nie są standardowo umieszczane: o EntityFramework o Microsoft.SqlServer.ConnectionInfo o Microsoft.SqlServer.Management.Sdk.Sfc o Microsoft.SqlServer.Smo o Microsoft.SqlServer.SqlEnum /App_Data/ - w tym katalogu tradycyjnie umieszcza się obiekty służące do przechowywania danych, jak np. pliki bazy danych SQL CE. W naszym projekcie korzystamy jednak z bazy danych SQL Express, której pliki zawarte są w systemie plików poza projektem. W związku z tym katalog ten pozostaje pusty. /BusinessModels/ - katalog ten utworzony został w celu odseparowania kodu dotyczącego wewnętrznej logiki biznesowej aplikacji. Zawiera on klasy dokonujące skomplikowanych operacji logicznych i bazodanowych oraz definiujące różne parametry rządzące działaniem programu. o GameProperties.cs - klasa ta zawiera parametry oraz funkcje pomocnicze, wpływające na ustawienia aplikacji (wysokość prowizji maklerskich, dni pracy giełdy, etc) o InstrumentsSynchronizer.cs - klasa ta zawiera metody służące do codziennej synchronizacji i aktualizacji niektórych danych zawartych w bazie, jak np. dodawanie obecnych kursów walorów do historii notowań, usuwanie przedawnionych zleceń, etc o InstrumentsTrigger.cs - klasa ta tworzy dodatkowy wątek, którego celem jest automatyczne wywoływanie aktualizacji notowań w określonych odstępach czasu o InstrumentsUpdater.cs - klasa ta zawiera metody służące do aktualizacji kursów poszczególnych walorów w oparciu o wartości sparsowane ze stron internetowych o StockQuotesParser.cs - klasa ta służy do pobierania stron zawierających aktualne notowania instrumentów finansowych oraz do parsowania ich treści w celu odczytania interesujących nas wartości 9

10 o TradeCenter.cs - klasa ta definiuje jedną metodę, która służy do przeglądania oczekujących zleceń i wykonywanie tych transakcji, dla których spełnione są wymagane warunki /Content/ - katalog ten zawiera pliki statyczne wykorzystywane w aplikacji o /images/ - zawiera pliki obrazów o /themes/ - zawiera arkusze stylów CSS związane z elementami JQuery UI (niewykorzystywane w projekcie) o Site.css - główny arkusz stylów CSS, definiujący wygląd całego portalu /Controllers/ - katalog ten gromadzi klasy warstwy kontrolera MVC, czyli klasy służące do obsługi żądań HTTP i generowania odpowiednich plików HTML o AccountController.cs - klasa obsługująca część portalu dotyczącą zarządzania kontami użytkowników oraz ich uwierzytelnianiem o BrokerageAccountController.cs - klasa obsługująca część portalu związaną z obsługą rachunków maklerskich o HomeController.cs - klasa obsługująca strony portalu nie związane bezpośrednio z innymi kontrolerami, w tym stronę startową o OrderController - klasa obsługująca część portalu odpowiedzialną za umożliwienie składania i anulowania zleceń giełdowych o QuotationsController - klasa obsługująca część portalu związaną z prezentacją notowań oraz innych szczegółów dotyczących instrumentów finansowych /Models/ - katalog zawierający klasy warstwy modelowej MVC, a więc klasy związane z gromadzeniem i przetwarzaniem danych wykorzystywanych w aplikacji o AccountModels.cs - klasa definiująca typy danych związane z obsługą kont użytkowników o SSInitializer.cs - klasa mająca za zadanie wypełnienie nowo utworzonej bazy danymi dotyczącymi instrumentów finansowych oraz danymi testowymi o StockSharkDB.cs - klasa określająca listę danych przechowywanych w bazie (encje) o inne - reszta klas definiuje bezpośrednio typy danych, które odpowiadają encjom (tabelom) w bazie danych /Scripts/ - katalog ten zawiera zewnętrzne skrypty JavaScript wykorzystywane na stronach portalu, przede wszystkim skrypty biblioteki JQuery /ViewModels/ - w tym katalogu umieszczone zostały klasy służące do agregacji danych z różnych klas warstwy modelowej w jednym obiekcie, w celu przekazania go do warstwy widoku o BAChartsData.cs - klasa ta zawiera dane i metody służące do generowania wykresów związanych z rachunkiem maklerskim (dziedziczy po ChartData) o ChartData.cs - klasa definiująca część wspólną danych i metod dla generowania wykresów o InstrumentChartData.cs - klasa zawierająca dane i metody służące do generowania wykresów związanych z notowaniami (dziedziczy po ChartData) o PeriodList.cs - pomocnicza klasa służąca do generowania listy okresów czasu dla wykresów oraz wyliczania daty początkowej dla tych okresów 10

11 o o ScoreboardData.cs - klasa zawierająca dane wykorzystywane do prezentacji rankingu rachunków maklerskich StartPageData.cs - klasa zawierająca dane wykorzystywane w widoku strony startowej portalu /Views/ - katalog ten zawiera szablony dokumentów HTML (Razor templates) wykorzystywane do generowania stron portalu, czyli warstwę widoku MVC o /Shared/ - katalog przechowujący szablony współdzielone, wykorzystywane do generowania fragmentów wielu różnych stron _Layout.cshtml - szablon główny definiujący szkielet (ogólną strukturę) dla wszystkich stron portalu, w tym główne kontenery oraz menu _LogOnPartial.cshtml - szablon zawierający informacje dotyczące logowania, wyświetlane w prawym górnym rogu _QuotationsPartial.cshtml - szablon służący do generowania wierszy tabeli z notowaniami walorów Error.cshtml - szablon strony zawierającej komunikat o błędzie o _ViewStart.cshtml - szablon wskazujący na plik z szablonem głównym o Web.config - plik XML z konfiguracją dotyczącą warstwy widokowej o inne - reszta katalogów odpowiada klasom warstwy kontrolnej, a pliki szablonów w nich zawarte - metodom publicznym owych klas. Szablony te służą do prezentacji danych zwracanych przez metody klas kontrolera. Global.asax o Global.asax.cs - plik definiujący główną klasę aplikacji, odpowiadającą za wykonanie czynności niezbędnych przy jej uruchomieniu packages.config - plik XML z konfiguracją dotyczącą wykorzystywanych bibliotek Web.config - plik XML zawierający ogólną konfigurację aplikacji webowej o Web.debug.config - konfiguracja szczególna dla uruchomienia w trybie Debug o Web.debug.release - konfiguracja szczególna dla uruchomienia w trybie Release 4.2. Struktura projektu z testami Dalej, przedstawione i opisane zostały najważniejsze elementy składające się na całość projektu zawierającego testy, zgodnie z ich hierarchią. /References/ - katalog ten zawiera referencje do wszystkich bibliotek wykorzystywanych do kompilacji i konsolidacji programu, przede wszystkim: o StockShark - referencja do projektu głównego, którego klasy będą testowane /BusinessModels/ - katalog zawierający testy jednostkowe klas zawartych w katalogu BusinessModels w projekcie głównym /Controllers/ - katalog zawierający testy jednostkowe klas zawartych w katalogu Controllers w projekcie głównym /LoadTests/ - katalog zawierający testy obciążeniowe dla aplikacji webowej App.config - plik XML zawierający konfigurację aplikacji testującej 11

12 5. Warstwa modelu i baza danych 5.1. Ogólne informacje Warstwa modelowa projektu została w całości oparta na danych, które przechowywane są w bazie danych MS SQL Express Przy tworzeniu tej warstwy zastosowano tzw. "Code-first approach", czyli takie podejście, w którym najpierw definiowane są klasy obiektów z danymi, a następnie na ich podstawie generowana są odpowiednie tabele i relacje w bazie. W związku z tym podejściem, każda (niemal) zmiana w klasach modelu pociąga za sobą konieczność aktualizacji schematu bazy danych. Aplikacja sama wykrywa, takie zmiany zaszły i kiedy aktualizacja jest konieczna. Należało więc określić strategię działania w razie zajścia takiej sytuacji. Zdecydowano się na opcję "Drop&Create", czyli usunięcie i utworzenie całej bazy danych na nowo. W tym celu właśnie powstała klasa SSInitializer, która ma za zadanie wypełnienie nowo utworzonej bazy danymi. Część z tych danych do dane testowe (przykładowe konta użytkowników i rachunki maklerskie), a część to rzeczywiste dane dotyczące instrumentów finansowych. Te ostatnie zawarte zostały w zewnętrznych plikach SQL, w folderze Skrypty. Warto również tutaj wspomnieć o sposobie łączenia się aplikacji z bazą danych SQL Express. W celu zdefiniowania tego połączenia dodany został następujący wpis w głównym pliku Web.config projektu: <connectionstrings> <add name="stocksharkdb" connectionstring="data source=.\sqlexpress;integrated Security=SSPI;Initial Catalog=StockSharkDB;" providername="system.data.sqlclient" /> </connectionstrings> Listing 1. definicja połączenia aplikacji z bazą danych (connectionstring) Wpis ten definiuje nowy connectionstring o następujących parametrach: name - nazwa połączenia connectionstring - ciąg znaków definiujących połączenie o data source=.\sqlexpress - źródło danych, czyli baza SQL Express na lokalnym hoście o Integrated Security=SSPI - sposób uwierzytelniania dostępu do bazy o Initial Catalog=StockSharkDB - nazwa bazy danych - StockSharkDB 5.2. Schemat bazy danych Schemat bazy danych StockSharkBD, która została wygenerowana na podstawie klas modelu, opisuje poniższy diagram ERD. 12

13 Rys 5. Diagram ERD bazy danych 13

14 5.3. Opis modelu danych Poniżej przedstawiony został opis poszczególnych klas modelu, wraz z ich istotnymi atrybutami (pomijając atrybuty klucza głównego i kluczy obcych). BrokerageAccount - klasa z danymi dotyczącymi rachunku maklerskiego o [string] Name - nazwa rachunku o [decimal] Balance - wolne środki (PLN) o [decimal] TotalValue - łączna wartość portfela (PLN) o [DateTime] CreationDate - data otwarcia rachunku AccountValue - klasa opisująca historyczną wartość rachunku maklerskiego o [DateTime] Timestamp - data o [decimal] Value - łączna wartość portfela tego dnia (PLN) ExecutedTransaction - klasa opisująca wykonaną transakcję giełdową na rachunku o [int] Quantity - liczba kupionych/sprzedanych jednostek waloru o [decimal] UnitPrice - cena jednostkowa waloru (PLN) o [bool] BuyNotSell - rozróżnienie pomiędzy transakcją kupna i sprzedaży o [DateTime] ExecutonDate - data wykonania transakcji o [decimal] Commission - pobrana prowizja maklerska (PLN) Order - klasa opisująca oczekujące zlecenie kupna/sprzedaży na rachunku o [int] Quantity - liczba jednostek waloru do kupienia/sprzedania o [decimal] PriceLimit - limit ceny (max dla kupna, min dla sprzedaży) (PLN) o [bool] BuyNotSell - rozróżnienie pomiędzy zleceniem kupna i sprzedaży o [DateTime] IssuingDate - data złożenia zlecenia o [DateTime] Deadline - data ważności zlecenia o [bool] AllowPartial - zezwolenie na wykonanie części zlecenia w przypadku braku środków / dostępnych walorów OwnedInstrument - klasa opisująca posiadane walory na rachunku o [int] Quantity - liczba posiadanych jednostek waloru WatchedInstrument - klasa opisująca obserwowany walor przez danego użytkownika Quotation - klasa opisująca historyczną wartość notowania danego waloru o [DateTime] Timestamp - data o [decimal] Value - kurs waloru w danym dniu (PLN, pkt) Instrument - klasa opisująca dany walor (instrument finansowy) o [string] Name - pełna nazwa waloru o [string] Acronym - skrót nazwy o [decimal] CurrentPrice - kurs bieżący (PLN, pkt) o [decimal] ReferencePrice - kurst odniesienia (PLN, pkt) o [string] Description - opis waloru o [string] WebLink - link do zewnętrznej strony WWW z opisem waloru o [string] Market - rynek, na którym notowany jest dany walor Share - klasa opisująca daną akcję (dziedziczy po Instrument) o [bool] Fixing - akcja notowana w systemie jednolitym o [string] Sector - sektor, w którym działa firma związana z daną akcją 14

15 Currency - klasa opisująca daną walutę (dziedziczy po Instrument) Material - klasa opisująca dany surowiec (dziedziczy po Instrument) Index - klasa opisująca dany indeks giełdowy (dziedziczy po Instrument) 6. Notowania giełdowe 6.1. O notowaniach Jednym z podstawowych wymagań funkcjonalnych postawionych przed tworzoną aplikacją i niezbędnych w jak najbardziej realistycznym odwzorowaniu gry na giełdzie, było zapewnienie użytkownikom rzeczywistych oraz aktualnych danych giełdowych, mających swe odzwierciedlenie w aktualnych notowaniach na Giełdzie Papierów Wartościowych w Warszawie. Wśród notowań które należało odwzorować w aplikacji można wyróżnić cztery rodzaje walorów: indeksy, akcje, surowce, waluty. Ze względu na specyfikę poszczególnych notowań oraz harmonogram ich aktualizacji na giełdzie, dokonano kolejnego podziału uwzględniającego: notowania ciągłe indeksy oraz akcje aktualizowane przez cały czas trwania sesji na giełdzie (9: ), notowania jednolite akcje aktualizowane dwa razy dziennie (11:15-11:30 pierwszy fixing oraz 15:15-15:30 drugi fixing), notowania New Connect indeksy oraz akcje z giełdy New Connect aktualizowane przez cały czas trwania sesji na giełdzie (9: ), surowce aktualizowane pomiędzy 8.30 a 17.30, waluty - aktualizowane pomiędzy 8.30 a Tak określone zbiory indeksów, akcji, surowców i walut aktualizowano poprzez wykorzystanie bieżących notowań giełdowych udostępnianych prze GPW (15 minutowe opóźnienie dla niekomercyjnych użytkowników). Ze względu na strukturę poszczególnych stron internetowych udostępniających notowania giełdowe i wynikającej z tego szybkości oraz stopnia skomplikowania procesu parsowania danych, jako źródło notowań wybrano kanał tematyczny Biznes oferowany przez portal Onet.pl. Kanał ten oprócz prostej, przejrzystej i stałej struktury poszczególnych stron, oferował także wspomniany wcześniej podział notowań na ciągłe, jednolite, New Connect, surowce i waluty. Podział ten realizowany był w postaci następujących statycznych stron: 15

16 notowania ciągłe: notowania jednolite: notowania New Connect: surowce: waluty: Powyższe strony aktualizowane były informacjami z GPW co 15 minut zgodnie z przedstawionym wcześniej harmonogramem uwzględniającym 15 minutowe opóźnienie początkowe dla użytkowników niekomercyjnych. Dostosowano do tego proces pobierania danych, przyjmując dodatkowe 5 minut opóźnienia początkowego, tak aby mieć pewność, że dane strony zawierają zaktualizowane dane. Szczegółowy harmonogram procesu pobierania notowań przedstawia Rys 6. Rys 6. Harmonogram pobierania danych giełdowych Pobieranie notowań giełdowych, ich aktualizacja, archiwizacja i synchronizacja zapewniające rozgrywkę z rzeczywistymi danymi giełdowymi zostały podzielone w aplikacji na 4 odpowiedzialne za ich realizację moduły: StockQuotesParser moduł parsujący dane giełdowe, InstrumentsUpdater moduł aktualizujący dane giełdowe, InstrumentsSynchroznier moduł synchronizujący historię notowań, InstrumentsTrigger moduł wyzwalający (triggerujący) poszczególne aktualizacje danych giełdowych. 16

17 6.2. Parsowanie Parsowanie, będące pierwszym etapem w procesie zapewniania rzeczywistych danych giełdowych w aplikacji, realizowane jest przez moduł StockQuotesParser. Moduł ten zawiera listę adresów stron internetowych, które mają zostać sparsowane oraz listy aktualnych notowań, które uzupełnia w miarę parsowania i uzyskiwania kolejnych wartości notowań ze stron. Listy te przedstawia Listing 2. public List<string> UriList; // lista uri z adresami stron do parsowania danych public List<Instrument> ContinuousIndexesList; // notowania ciągłe - indeksy public List<Instrument> ContinuousInstrumentsList; // notowania ciągłe - akcje public List<Instrument> UniformInstrumentsList; // notowania jednolite - akcje public List<Instrument> NewConnectInstrumentsList;// notowania New Connect - akcje public List<Instrument> NewConnectIndexesList; // notowania New Connect - indeksy public List<Material> MaterialsList; // surowce public List<Currency> CurrenciesList; // waluty Listing 2. Listy notowań oraz adresów URL przechowywane przez StockQuotesParser Proces parsowania przeprowadzany przez StockQuotesParser rozpoczyna się po wywołaniu metody Parse().Następuje w niej stworzenie obiektu klasy WebClient, umożliwiającej odbieranie i przesyłanie danych ze źródła określonego adresem URI. Ustawiane jest odpowiednie kodowanie i wywoływany za pomocą metody DownloadString()z podanym odpowiednim adresem strony internetowej, proces pobierania jej źródła do obiektu typu string. Tak pobrane źródło strony jest następnie parsowane poprzez wywołanie odpowiedniej metody parsującej - adekwatnej do źródła, które zostało pobrane (w przypadku Listingu 3. jest to parsowanie notowań ciągłych). W metodzie parsującej następuje obróbka pobranej strony i wyłowienie z tekstu za pomocą wyszukiwania odpowiednich znaczników aktualnych wartości notowań. Znaleziona aktualna wartość jest umieszczana w odpowiedniej liście notowań. Jeżeli podczas parsowania wystąpił błąd wszystkie listy zostają wyczyszczone tak aby nie wprowadzać do aplikacji niepełnych bądź nieprawidłowych danych. Proces pobierania źródeł stron i wywoływania poszczególnych metod parsujących powtarzany jest dla wszystkich grup notowań, a po jego poprawnym przeprowadzeniu StockQuotesParser zawiera listy aktualnych notowań giełdowych. public int Parse() WebClient client = new WebClient(); try /* notowania ciągłe */ client.encoding = System.Text.UTF8Encoding.UTF8; string result = client.downloadstring(urilist[0]); int value = ParsingAlgorithmForContinuousInstrumentsAndNewConnect(result, false); if (value == -1 value == 0) 17

18 ContinuousIndexesList.Clear(); ContinuousInstrumentsList.Clear(); UniformInstrumentsList.Clear(); NewConnectInstrumentsList.Clear(); NewConnectIndexesList.Clear(); MaterialsList.Clear(); CurrenciesList.Clear(); return value; Listing 3. Parsowanie danych giełdowych W przypadku modułu parsującego warto także wspomnieć o metodzie odpowiedzialnej za parsowanie notowań jednolitych. Notowania te są aktualizowane na GPW dwa razy dziennie (fixing pierwszy i drugi). Dostosowany jest do tego również proces parsowania, który wywołując metodę TimeCounterForParsing(), sprawdzającą czy aktualny czas jest odpowiedni do pobrania pierwszego bądź drugiego fixingu czy też może aktualizacja nie musi być wykonywana, daje informacje o tym czy parsowanie ma zostać wywołane i jakie ma ono ewentualnie być. Dzięki temu aplikacja nie jest obciążana poprzez zbędne parsowania, a aktualne dane znajdujące się w aplikacji nie są zbędnie nadpisywane tymi samymi wartościami. Przebieg procesu wyboru parsowania dla notowań jednolitych przedstawia Listing 4. int decision = TimeCounterForParsing(DateTime.Now); int stateofmethod = 0; // czy poprawnie przeprowadzono operację switch(decision) case 0: break; case 1: stateofmethod = ParseFirstFix(result); break; ; case 2: stateofmethod = ParseSecondFix(result); break; Listing 4. Przebieg procesu wyboru parsowania dla notowań jednolitych 6.3. Aktualizacja Proces aktualizacji danych giełdowych przeprowadzany jest za pomocą modułu InstrumentsUpdater. Moduł ten posiada instancję klasy StockQuotesParser, dzięki której może wywoływać bezpośrednio proces parsowania, a także instancję StockSharkDB dzięki której, poprzez Entity Framework, możliwa jest aktualizacja bazy danych. 18

19 Proces aktualizacji danych giełdowych uruchamiany jest poprzez wywołanie metody Update(). W metodzie tej sprawdzane jest na początku czy giełda jest otwarta. Jest to ważne, gdyż w przypadku zamkniętej giełdy dane nie muszą być aktualizowane. Proces sprawdzania statusu giełdy wykonywany jest w metodzie statycznej MarketOpen() z klasy GameProperties. Sprawdzaniu podlega godzina ( ) oraz dzień tygodnia (poniedziałek - piątek) w których giełda jest otwarta. W przypadku uzyskania pozytywnej informacji giełda otwarta, przeprowadzany jest proces parsowania. Wypełnione dzięki parsowaniu listy aktualnych notowań są następnie wykorzystywane do aktualizacji danych zawartych w bazie. Proces ten polega na wywoływaniu kolejnych metod aktualizujących poszczególne grupy notowań, gdzie przykładem może być aktualizacja indeksów notowań ciągłych. W metodzie aktualizującej te notowania na początku pobierane są z bazy wszystkie walory przypisane do giełdy GPW Rynek Główny. Następnie po typach walorów odfiltrowywane są indeksy i następuje ich porównywanie z tym co znajduje się w liście aktualnych wartości indeksów notowań ciągłych uzyskanej z parsowania. Jeśli wartości w bazie i w aktualnych indeksach są różne dane aktualne przepisywane są do listy indeksów z bazy. Po sprawdzeniu wszystkich elementów z bazy następuje zapis zmian i metoda kończy swoje działanie. W przypadku błędów w odczycie danych bądź braku połączenia z bazą danych proces aktualizacji nie jest przeprowadzany, a metoda aktualizująca zwraca odpowiedni komunikat błędu. Proces aktualizacji indeksów notowań ciągłych przedstawia Listing 5. public int UpdateContinuousIndexes() int result = 0; // wynik działania metody IEnumerable<Instrument> continuousindexestmp = from index in db.instruments Where index.market.equals("gpw Rynek Główny") select index; List<Index> indexeslst = new List<Index>(); foreach (var item in continuousindexestmp) if (item.gettype() == typeof(index)) indexeslst.add((index)item); /* brak połączenia z bazą danych */ if (indexeslst.count == 0) return -1; foreach (Instrument item in Parser.ContinuousIndexesList) foreach (Index instr in indexeslst) if (instr.name.equals(item.name)) if (instr.currentprice!= item.currentprice) 19

20 instr.currentprice = item.currentprice; db.entry(instr).state = System.Data.EntityState.Modified; result = 1; indexeslst.remove(instr); break; if (result == 1) db.savechanges(); return result; Listing 5. Aktualizacja indeksów notowań ciągłych Po przeprowadzeniu wszystkich aktualizacji następuje proces wykonania oczekujących transakcji za pomocą statycznej metody ExecuteTransactions() z klasy TradeCenter. Po nim metoda Update() kończy swoje działanie Historia notowań Ważnym aspektem w przypadku aktualizacji notowań giełdowych jest archiwizowanie ich wartości z poszczególnych dni. Dzięki temu użytkownik posiada informację o tym jak notowania się zmieniały i może łatwiej przewidzieć przyszły kurs danego waloru. Historia notowań obsługiwana jest przez moduł InstrumentsSynchroznier i zapisywana w specjalnie przygotowanej do tego celu tabeli Quotations. Proces przeprowadzany jest poprzez wywołanie metody Synchronize(). W metodzie tej sprawdzana jest początkowo poprawność połączenia z bazą danych, a następnie wywoływane są metody pomocnicze IsSynchronizingNeeded() i IsTimeForSynchronizing().IsSynchronizingNeeded() sprawdza ostatnie wpisy w tabeli Quotations i jeśli są one z bieżącego dnia to aktualizacja historii nie jest wymagana. IsTimeForSynchronizing() z kolei sprawdza aktualny czas systemowy i gdy mieści się on w granicach przyjętych dla aktualizacji historii, a więc między 23:30 a 23:59 to przekazywana jest informacja o tym, że aktualizacja może zostać wykonana. Obie metody pomocnicze muszą potwierdzić potrzebę aktualizacji historii i możliwość jej wykonania aby proces ten mógł zostać wykonany. Aktualizacja przeprowadzana jest dla wszystkich notowań, zamówień oraz kont maklerskich poprzez wywołanie z poziomu metody Update () metod SynchronizeInstruments(), SynchronizeOrders() i SynchronizeBrokerageAccounts(). W przypadku notowań aktualizacja dokonywana jest w dni, w które giełda jest otwarta (wspomniana wcześniej statyczna metoda MarketOpen() z klasy GameProperties). Pobierane są z bazy wszystkie aktualne notowania, a następnie dla każdego z nich aktualna cena przepisywana jest do ceny odniesienia, a później zerowana. Dane tak zaktualizowanego notowania służą do stworzenia nowego wpisu w 20

21 tabeli Quotations. Po tych aktualizacjach zmodyfikowane oraz nowowprowadzone dane są zapisywane do bazy. Proces aktualizacji historii notowań przedstawiony jest na Listingu 6. public int SynchronizeInstruments() try IEnumerable<Instrument> instruments = from instr in db.instruments select instr; if (instruments.first<instrument>() == null) return -1; foreach (Instrument item in instruments) item.referenceprice = item.currentprice; item.currentprice = 0; db.quotations.add(new Quotation Paper = item, PaperId = item.id, Timestamp = DateTime.Now.Date, Value = item.referenceprice ); db.entry(item).state = System.Data.EntityState.Modified; return 1; catch return -1; Listing 6. Aktualizacja historii notowań Kolejną z aktualizacji jest aktualizacja zamówień polegająca na pobraniu z bazy wszystkich zamówień oraz usunięciu tych, których czas końcowy na realizację (Deadline) przekroczył bieżącą datę bądź jest jej równy. Aktualizacja wartości kont maklerskich to ostatnia z wykonywanych przez InstrumentsSynchroznier aktualizacji danych. W metodzie SynchronizeBrokerageAccounts() pobierane są wszystkie konta maklerskie, a następnie tworzona jest ich nowa całkowita wartość (TotalValue) poprzez zsumowanie wszystkich wartości walorów jakie posiada dane konto. Na tej podstawie tworzony jest także nowy wpis w tabeli AccountValues, dzięki której można uzyskać informację o aktualnych wartościach poszczególnych kont. Dokładny przebieg aktualizacji wartości kont maklerskich przedstawia Listing 7. public int SynchronizeBrokerageAccounts() try IEnumerable<BrokerageAccount> bas = from ba in db.brokerageaccounts select ba; if (bas.first<brokerageaccount>() == null) 21

22 return -1; foreach (BrokerageAccount ba in bas) ba.totalvalue = ba.balance; foreach (OwnedInstrument oi in ba.ownedinstruments) ba.totalvalue += oi.totalvalue; db.accountvalues.add(new AccountValue() BrokerageAccount = ba, Timestamp = DateTime.Now.Date, Value = ba.totalvalue ); return 1; catch return -1; Listing 7. Aktualizacja wartości kont maklerskich Po przeprowadzeniu powyższych aktualizacji metoda Synchronize()kończy swoje działanie Triggerowanie Ostatnim z etapów zapewniania rzeczywistych danych giełdowych w aplikacji jest proces triggerowania stworzonych modułów parsowania, aktualizacji kont i historii notowań. Na poczet tego procesu stworzony został moduł InstrumentsTrigger. Ideą tego modułu jest wywołanie przy starcie aplikacji wątku pracującego w tle i wykonującego w odpowiednim czasie poszczególne aktualizacje. InstrumentsTrigger posiada instancję opisanych wcześniej klas InstrumentsUpdater, InstrumentsSynchroznier oraz klasę Thread dzięki której możliwe jest stworzenie wątku. Wątek tworzony jest w metodzie Start(), gdzie następuje przypisanie do niego delegatu odpowiedzialnego za logikę biznesową procesu triggerowania. Delegat ten zostanie uruchomiony w momencie uruchomienia wątku (wywołanie metody Start() na rzecz obiektu Thread). Wątek działa przez cały czas działania aplikacji i zabijany jest gdy aplikacja zostanie wyłączona. Proces tworzenia wątku w metodzie Start() przedstawia Listing 8. public void Start() ThreadStart wstart = new ThreadStart(Actualize); Thread = new Thread(wstart); Thread.Start(); Listing 8. Tworzenie wątku triggerującego aktualizację danych 22

23 Logika biznesowa triggerowania powiązana jest ściśle z harmonogramem aktualizacji. W godzinach od 8:50 do 17:50 następuje parsowanie i aktualizacja notowań giełdowych (wywołanie metody Update() na rzecz obiektu Updater) po której wątek jest na 15 minut usypiany. Po 15 minutach wątek budzi się i znów aktualizuje dane. Gdy bieżący czas jest pomiędzy 23:30 a 23:50 następuje uruchomienie aktualizacji historii, zamówień oraz kont maklerskich. Po tej akcji wątek usypiany jest na 8 godzin i budzi się następnego dnia w okolicach godziny 8 oczekując na start sesji giełdowej. Podczas oczekiwania, wątek na minutę jest usypiany jeżeli sesja jeszcze się nie rozpoczęła. Dzięki temu nie odpytuje on ciągle aplikacji i zmniejsza tym samym obciążenia przez nią generowane. Proces wywoływania poszczególnych aktualizacji przedstawia Listing 9. public void Actualize() while (true) do Updater.Update(); // uśpienie wątku na 15 min Thread.Sleep(900000); while((datetime.now.hour == 8 && DateTime.Now.Minute >= 50) (DateTime.Now.Hour > 8 && DateTime.Now.Hour < 17 ) (DateTime.Now.Hour == 17 && DateTime.Now.Minute <= 50)); if (DateTime.Now.Hour == 23 && && (DateTime.Now.Minute == 30 DateTime.Now.Minute == 50 (DateTime.Now.Minute > 30 DateTime.Now.Minute < 50))) Synchronizer.Synchronize(); // uśpienie wątku na 8h Thread.Sleep( ); // uśpienie wątku na minutę Thread.Sleep(60000); Listing 9. Triggerowanie aktualizacji 23

24 7. Testy Jeden z najważniejszych aspektów tworzenia oprogramowania, zapewniający nie tylko jakość oprogramowania, ale pozwalający także na weryfikację oraz walidację, a więc sprawdzenie, czy wytwarzane oprogramowanie jest zgodne ze specyfikacją i z oczekiwaniami użytkownika. Testowanie pozwala także na łatwość utrzymywania istniejącej aplikacji, rozbudowę funkcjonujących już komponentów bądź też dodawanie nowych funkcjonalności. W stworzonej aplikacji część funkcjonalności (moduły StockQuotesParser, InstrumentsUpdater, InstrumentsSynchroznier i InstrumentsTrigger) zaimplementowano techniką Test Driven Development, opartą na tworzeniu oprogramowania poprzez testy. Dzięki pisaniu kolejnych testów, których następstwem był w pełni działający kod uzyskano nie tylko zgodne ze specyfikacją oraz oczekiwaniami użytkownika, dobre jakościowo i w pełni zrefaktoryzowane oprogramowanie, ale także szereg sprawdzających je testów jednostkowych (dla 4 modułów łącznie 93 testy). Jest to nieodzowne w przypadku utrzymywania i rozwijania tak dużej aplikacji. Ponadto w przypadku błędów związanych z czynnikami zewnętrznymi (układ i struktura stron internetowych udostępniających notowania giełdowe) niepotrzebne jest przeszukiwanie całej aplikacji - wystarczy jedynie sprawdzić, który test nie został poprawnie wykonany, co jednoznacznie zlokalizuje przyczynę błędów. Rysunek 7. Wynik przeprowadzonych testów jednostkowych W aplikacji, której używać by miało jednocześnie wielu użytkowników, oprócz testów jednostkowych ważne są również testy związane z optymalnością działania aplikacji, a więc testy obciążenia, testy maksymalnego obciążenia oraz testy wydajnościowe. Testy obciążenia sprawdzają, czy aplikacja jest w stanie obsłużyć wskazaną liczbę użytkowników (zadaniem programisty jest zatem zasymulowanie odpowiedniego ruchu), testy maksymalnego obciążenia mają za zadanie wyznaczyć maksymalne możliwości aplikacji (wykonywane podobnie jak testy obciążenia, z tym że symulowany jest ruch z wyższą częstotliwością, tester zwiększa liczbę użytkowników aż do momentu, gdy aplikacja przestanie prawidłowo działać np. zawiesi się z powodu wyczerpania zasobów) oraz testy wydajnościowe weryfikujące, czy podana operacja jest wykonana we wskazanym czasie. Microsoft Visual Studio 2010 w wersji Ultimate posiada dodatki służące tworzeniu tego typu testów (Load Test 24

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First)

Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Microsoft.NET: ASP.NET MVC + Entity Framework (Code First) Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2012. W ramach projektu budowana jest prosta

Bardziej szczegółowo

Spis treści. Wstęp. Pierwsze logowanie. Wygląd platformy po zalogowaniu. Składnianie zleceń. Widok nowego zlecenia na wykresie oraz w zakładce handel

Spis treści. Wstęp. Pierwsze logowanie. Wygląd platformy po zalogowaniu. Składnianie zleceń. Widok nowego zlecenia na wykresie oraz w zakładce handel Instrukcja obsługi Spis treści Wstęp 3 Pierwsze logowanie 4 Wygląd platformy po zalogowaniu 5 Składnianie zleceń 6 Widok nowego zlecenia na wykresie oraz w zakładce handel 7 Zamykanie i modyfikacja zlecenia

Bardziej szczegółowo

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja Produkcja by CTI Proces instalacji, ważne informacje oraz konfiguracja Spis treści 1. Ważne informacje przed instalacją...3 2. Instalacja programu...4 3. Nawiązanie połączenia z serwerem SQL oraz z programem

Bardziej szczegółowo

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller Dokumentacja systemu NTP rekrut Autor: Sławomir Miller 1 Spis treści: 1. Wstęp 1.1 Wprowadzenie 1.2 Zakres dokumentu 2. Instalacja 2.1 Wymagania systemowe 2.2 Początek 2.3 Prawa dostępu 2.4 Etapy instalacji

Bardziej szczegółowo

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

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Bardziej szczegółowo

Dokumentacja Administratora portalu. aplikacji. Wirtualna szkoła

Dokumentacja Administratora portalu. aplikacji. Wirtualna szkoła Dokumentacja Administratora portalu aplikacji Wirtualna szkoła aktualna na dzień 20.12.2012 Wykonawca: Young Digital Planet SA 2012 Strona 2 z 15 Spis Treści Wirtualna szkoła SYSTEM ZARZĄDZANIA NAUCZANIEM...

Bardziej szczegółowo

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

Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Koszalin, 15.06.2012 r. Dokument Detaliczny Projektu Temat: Księgarnia On-line Bukstor Zespół projektowy: Daniel Czyczyn-Egird Wojciech Gołuchowski Michał Durkowski Kamil Gawroński Prowadzący: Dr inż.

Bardziej szczegółowo

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC

Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Akademia MetaPack Uniwersytet Zielonogórski Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Krzysztof Blacha Microsoft Certified Professional Budowa aplikacji ASP.NET z wykorzystaniem wzorca MVC Agenda:

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x

Wdrożenie modułu płatności eservice. dla systemu oscommerce 2.3.x Wdrożenie modułu płatności eservice dla systemu oscommerce 2.3.x - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

Bardziej szczegółowo

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie

Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie Projekt dotyczy stworzenia zintegrowanego, modularnego systemu informatycznego wspomagającego zarządzanie pracownikami i projektami w firmie informatycznej. Zadaniem systemu jest rejestracja i przechowywanie

Bardziej szczegółowo

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja Produkcja by CTI Proces instalacji, ważne informacje oraz konfiguracja Spis treści 1. Ważne informacje przed instalacją... 3 2. Instalacja programu... 4 3. Nawiązanie połączenia z serwerem SQL oraz z programem

Bardziej szczegółowo

app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji src/ - folder zawiera cały kod PHP aplikacji

app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji src/ - folder zawiera cały kod PHP aplikacji Baza danych i ORM Projekt zestaw usług dostępnych pod daną domeną. Aplikacja niezależnie działające programy/serwisy (w obrębie pojektu). Zwyczajowo projekt posiada dwie aplikacje: Frontend Backend Moduł

Bardziej szczegółowo

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3

ASP.NET MVC. Podstawy. Zaawansowane programowanie internetowe Instrukcja nr 3 3 ASP.NET MVC Podstawy 1 1. Cel zajęć Celem zajęć jest zapoznanie się z podstawami ASP.NET MVC 2.0 Framework. 2. Zadanie Proszę zbudować prostą aplikację WWW przy zastosowaniu framework a ASP.NET MVC 2.0

Bardziej szczegółowo

Instalacja SQL Server Express. Logowanie na stronie Microsoftu

Instalacja SQL Server Express. Logowanie na stronie Microsoftu Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5

Wdrożenie modułu płatności eservice. dla systemu Zen Cart 1.3.9 1.5 Wdrożenie modułu płatności eservice dla systemu Zen Cart 1.3.9 1.5 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie

Bardziej szczegółowo

Webowy generator wykresów wykorzystujący program gnuplot

Webowy generator wykresów wykorzystujący program gnuplot Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Marcin Nowak nr albumu: 254118 Praca inżynierska na kierunku informatyka stosowana Webowy generator wykresów wykorzystujący

Bardziej szczegółowo

Dokument Detaliczny Projektu

Dokument Detaliczny Projektu Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej

Bardziej szczegółowo

app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji Można wybrać sposób zapisu konfiguracji: YML, XML, PHP

app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji Można wybrać sposób zapisu konfiguracji: YML, XML, PHP Baza danych i ORM Struktura Bundle app/ - folder zawiera pliki konfiguracyjne dla całej aplikacji Można wybrać sposób zapisu konfiguracji: YML, XML, PHP src/ - folder zawiera cały kod PHP aplikacji vendor/

Bardziej szczegółowo

Day Trading System. Podręcznik Użytkownika

Day Trading System. Podręcznik Użytkownika Day Trading System Podręcznik Użytkownika Aplikacja Day Trading System powstała w ramach projektu z przedmiotu Zastosowania informatyki w gospodarce i została zrealizowana przez studentów Politechniki

Bardziej szczegółowo

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner 2013-03-11

Poznaj ASP.NET MVC. Kamil Cieślak Microsoft Student Partner 2013-03-11 Poznaj ASP.NET MVC Kamil Cieślak Microsoft Student Partner 2013-03-11 Agenda Czym jest ASP.NET MVC? Wzorzec MVC ASP.NET MVC vs inne frameworki Bazy danych w ASP.NET MVC Jak zacząć? 2 Czym jest ASP.NET

Bardziej szczegółowo

ROZPOCZĘCIE PRACY Z PLATFORMĄ INFRONT

ROZPOCZĘCIE PRACY Z PLATFORMĄ INFRONT ROZPOCZĘCIE PRACY Z PLATFORMĄ INFRONT Pierwszym krokiem jest uzyskanie dostępu do danych rynkowych w celu pobrania aktualnych notowań spółek. Możesz to zrobić wybierając opcję Preferencje z menu Narzędzia.

Bardziej szczegółowo

Przewodnik po Notowaniach Statica mdm 4

Przewodnik po Notowaniach Statica mdm 4 Przewodnik po Notowaniach Statica mdm 4 Notowania Statica mdm 4 to nowa wszechstronna, łatwa w obsłudze aplikacja, przeznaczona dla osób inwestujących na rynkach finansowych. Jej główną funkcją jest wyświetlanie

Bardziej szczegółowo

Podręcznik użytkownika Obieg dokumentów

Podręcznik użytkownika Obieg dokumentów Podręcznik użytkownika Obieg dokumentów Opracowany na potrzeby wdrożenia dla Akademii Wychowania Fizycznego im. Eugeniusza Piaseckiego w Poznaniu W ramach realizacji projektu: Uczelnia jutra wdrożenie

Bardziej szczegółowo

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

I. Informacje ogólne. Jednym z takich systemów jest Mambo. MAMBO (CMS) I. Informacje ogólne CMS, Content Management System ("system zarządzania treścią") jest to jedna lub zestaw aplikacji internetowych pozwalających na łatwe utworzenie oraz późniejszą aktualizację

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie do projektu QualitySpy Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować

Bardziej szczegółowo

Asynchroniczne interfejsy

Asynchroniczne interfejsy Asynchroniczne interfejsy MVC (Model View Controller) WWW mgr inż. Rafał Grycuk mgr inż. Patryk Najgebauer Strona służbowa: http://iisi.pcz.pl/~rgrycuk/ Kontakt: rafal.grycuk@iisi.pcz.pl Konsultacje: Środa,

Bardziej szczegółowo

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

Usługi analityczne budowa kostki analitycznej Część pierwsza. Usługi analityczne budowa kostki analitycznej Część pierwsza. Wprowadzenie W wielu dziedzinach działalności człowieka analiza zebranych danych jest jednym z najważniejszych mechanizmów podejmowania decyzji.

Bardziej szczegółowo

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC.

Rozdział ten zawiera informacje o sposobie konfiguracji i działania Modułu OPC. 1 Moduł OPC Moduł OPC pozwala na komunikację z serwerami OPC pracującymi w oparciu o model DA (Data Access). Dzięki niemu można odczytać stan obiektów OPC (zmiennych zdefiniowanych w programie PLC), a

Bardziej szczegółowo

Wstęp. Opis ten dotyczy wydziałów orzeczniczych.

Wstęp. Opis ten dotyczy wydziałów orzeczniczych. Wstęp. Opis ten dotyczy wydziałów orzeczniczych. W związku z przekształceniem 79 Sądów w Wydziały Zamiejscowe i związane z tym liczne zapytania odnośnie strony technicznej i sposobu przygotowania baz danych

Bardziej szczegółowo

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

Instalacja systemu zarządzania treścią (CMS): Joomla Instalacja systemu zarządzania treścią (CMS): Joomla Na stronie http://www.cba.pl/ zarejestruj nowe konto klikając na przycisk:, następnie wybierz nazwę domeny (Rys. 1a) oraz wypełnij obowiązkowe pola

Bardziej szczegółowo

Poradnik zetula.pl. Jak założyć konto na zetula.pl. i zabezpieczyć dane na swoim komputerze?

Poradnik zetula.pl. Jak założyć konto na zetula.pl. i zabezpieczyć dane na swoim komputerze? Poradnik zetula.pl Jak założyć konto na zetula.pl i zabezpieczyć dane na swoim komputerze? 1.Wejdź na stronę www.zetula.pl 2.Kliknij na odnośniku Utwórz nowe konto 3.Wypełnij formularz rejestracyjny. Pola

Bardziej szczegółowo

Podręcznik Użytkownika LSI WRPO

Podręcznik Użytkownika LSI WRPO Podręcznik użytkownika Lokalnego Systemu Informatycznego do obsługi Wielkopolskiego Regionalnego Programu Operacyjnego na lata 2007 2013 w zakresie wypełniania wniosków o dofinansowanie Wersja 1 Podręcznik

Bardziej szczegółowo

Dokument Detaliczny Projektu

Dokument Detaliczny Projektu Dokument Detaliczny Projektu Dla Biblioteki miejskiej Wersja 1.0 Streszczenie Niniejszy dokument detaliczny projektu(ddp) przedstawia szczegóły pracy zespołu projektowego, nad stworzeniem aplikacji bazodanowej

Bardziej szczegółowo

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer? Kadry Optivum, Płace Optivum Jak przenieść dane na nowy komputer? Aby kontynuować pracę z programem Kadry Optivum lub Płace Optivum (lub z obydwoma programami pracującymi na wspólnej bazie danych) na nowym

Bardziej szczegółowo

ECDL ZARZĄDZANIE PROJEKTAMI

ECDL ZARZĄDZANIE PROJEKTAMI ECDL ZARZĄDZANIE PROJEKTAMI EUROPEJSKI CERTYFIKAT UMIEJĘTNOŚCI KOMPUTEROWYCH ZARZĄDZANIE PROJEKTAMI Syllabus v. 1.0 Oficjalna wersja dokumentu jest dostępna w serwisie WWW Polskiego Biura ECDL www.ecdl.pl

Bardziej szczegółowo

W grze bierze udział dwóch graczy. Każdy uczestnik rozpoczyna rozgrywkę z sumą

W grze bierze udział dwóch graczy. Każdy uczestnik rozpoczyna rozgrywkę z sumą 2.4 QuestionGame QuestionGame jest grą z celem zaprojektowaną do gromadzenia pytań zadawanych przez ludzi podczas prób rozpoznawania ras psów. Program ma charakter aplikacji internetowej. W rozgrywcę mogą

Bardziej szczegółowo

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3 Currenda EPO Instrukcja Konfiguracji Wersja dokumentu: 1.3 Currenda EPO Instrukcja Konfiguracji - wersja dokumentu 1.3-19.08.2014 Spis treści 1 Wstęp... 4 1.1 Cel dokumentu... 4 1.2 Powiązane dokumenty...

Bardziej szczegółowo

System zarządzający grami programistycznymi Meridius

System zarządzający grami programistycznymi Meridius System zarządzający grami programistycznymi Meridius Instytut Informatyki, Uniwersytet Wrocławski 20 września 2011 Promotor: prof. Krzysztof Loryś Gry komputerowe a programistyczne Gry komputerowe Z punktu

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9

Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9 Wdrożenie modułu płatności eservice dla systemu Magento 1.4 1.9 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do

Bardziej szczegółowo

Automatyzacja Testowania w WEB 2.0

Automatyzacja Testowania w WEB 2.0 Automatyzacja Testowania w WEB 2.0 Wojciech Pająk, Radosław Smilgin XXIV Jesienne Spotkania PTI Wisła, 20-24 października 2008 Agenda Wprowadzenie do automatyzacji testowania Technologie WEB 2.0 Narzędzia

Bardziej szczegółowo

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1

1 LINQ. Zaawansowane programowanie internetowe Instrukcja nr 1 1 LINQ 1 1. Cel zajęć Celem zajęć jest zapoznanie się z technologią LINQ oraz tworzeniem trójwarstwowej aplikacji internetowej. 2. Zadanie Proszę przygotować aplikację WWW, która: będzie pozwalała na generowanie

Bardziej szczegółowo

ASP.NET MVC. Grzegorz Caban grzegorz.caban@gmail.com. 20 stycznia 2009

ASP.NET MVC. Grzegorz Caban grzegorz.caban@gmail.com. 20 stycznia 2009 ASP.NET MVC Grzegorz Caban grzegorz.caban@gmail.com 20 stycznia 2009 Agenda Przyczyna powstania Co to jest ASP.NET MVC Architektura Hello World w ASP.NET MVC ASP.NET MVC vs ASP.NET WebForm Przyszłość framework'a

Bardziej szczegółowo

IO - Plan testów. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006

IO - Plan testów. M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak. 5 czerwca 2006 IO - Plan testów M.Jałmużna T.Jurkiewicz P.Kasprzyk M.Robak 5 czerwca 2006 1 SPIS TREŚCI 2 Spis treści 1 Historia zmian 3 2 Zakres testów 3 2.1 Integration testing - Testy spójnosci.............. 3 2.2

Bardziej szczegółowo

REFERAT PRACY DYPLOMOWEJ

REFERAT PRACY DYPLOMOWEJ REFERAT PRACY DYPLOMOWEJ Temat pracy: Projekt i implementacja środowiska do automatyzacji przeprowadzania testów aplikacji internetowych w oparciu o metodykę Behavior Driven Development. Autor: Stepowany

Bardziej szczegółowo

Aplikacje webowe wspomagające działalność przedsiębiorstwa na przykładzie przychodni stomatologicznej

Aplikacje webowe wspomagające działalność przedsiębiorstwa na przykładzie przychodni stomatologicznej Aplikacje webowe wspomagające działalność przedsiębiorstwa na przykładzie przychodni stomatologicznej Małgorzata Barańska Wydział Informatyki i Zarządzania, Politechnika Wrocławska Beata Laszkiewicz Wydział

Bardziej szczegółowo

4. Podstawowa konfiguracja

4. Podstawowa konfiguracja 4. Podstawowa konfiguracja Po pierwszym zalogowaniu się do urządzenia należy zweryfikować poprawność licencji. Można to zrobić na jednym z widżetów panelu kontrolnego. Wstępną konfigurację można podzielić

Bardziej szczegółowo

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4

Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4 Wdrożenie modułu płatności eservice dla systemu Gekosale 1.4 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do integracji...

Bardziej szczegółowo

Laboratorium 7 Blog: dodawanie i edycja wpisów

Laboratorium 7 Blog: dodawanie i edycja wpisów Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą

Bardziej szczegółowo

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum. Płace Optivum Jak przenieść dane programu Płace Optivum na nowy komputer? Aby kontynuować pracę z programem Płace Optivum na nowym komputerze, należy na starym komputerze wykonać kopię zapasową bazy danych

Bardziej szczegółowo

REFERAT O PRACY DYPLOMOWEJ

REFERAT O PRACY DYPLOMOWEJ REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i budowa systemu zarządzania treścią opartego na własnej bibliotece MVC Autor: Kamil Kowalski W dzisiejszych czasach posiadanie strony internetowej to norma,

Bardziej szczegółowo

Kurs walut. Specyfikacja projektu. Marek Zając 2013-12-16

Kurs walut. Specyfikacja projektu. Marek Zając 2013-12-16 Kurs walut Specyfikacja projektu Marek Zając 2013-12-16 Spis treści 1. Podsumowanie... 2 1.1 Wstęp... 2 1.2 Projekt interfejsu... 2 1.2.1 Rozmiar głównego okna... 2 2. Słownik pojęć... 2 2.1 Definicja

Bardziej szczegółowo

PRZEWODNIK PO SERWISIE BRe BROKERS Rozdział 6

PRZEWODNIK PO SERWISIE BRe BROKERS Rozdział 6 PRZEWODNIK PO SERWISIE BRe BROKERS Rozdział 6 Notowania BRE Statica 3 instalacja programu, funkcje dedykowane. Notowania BRE Statica 3 to wszechstronna, łatwa w obsłudze aplikacja, przeznaczona dla osób

Bardziej szczegółowo

Praca w programie dodawanie pisma.

Praca w programie dodawanie pisma. Praca w programie dodawanie pisma. Wybór zakładki z danymi z Currendy (1) (tylko w przypadku włączenia opcji korzystania z danych Currendy). Wyszukanie i wybranie pisma. Po wybraniu wiersza dane z Currendy

Bardziej szczegółowo

API transakcyjne BitMarket.pl

API transakcyjne BitMarket.pl API transakcyjne BitMarket.pl Wersja 20140402 1. Sposób łączenia się z API... 2 1.1. Klucze API... 2 1.2. Podpisywanie wiadomości... 2 1.3. Parametr tonce... 2 1.4. Limity zapytań... 3 1.5. Odpowiedzi

Bardziej szczegółowo

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z

Bardziej szczegółowo

Tworzenie i wykorzystanie usług sieciowych

Tworzenie i wykorzystanie usług sieciowych Ćwiczenie 14 Temat: Tworzenie i wykorzystanie usług sieciowych Cel ćwiczenia: W trakcie ćwiczenia student zapozna się z procedurą tworzenia usługi sieciowej w technologii ASP.NET oraz nauczy się tworzyć

Bardziej szczegółowo

Procesowa specyfikacja systemów IT

Procesowa specyfikacja systemów IT Procesowa specyfikacja systemów IT BOC Group BOC Information Technologies Consulting Sp. z o.o. e-mail: boc@boc-pl.com Tel.: (+48 22) 628 00 15, 696 69 26 Fax: (+48 22) 621 66 88 BOC Management Office

Bardziej szczegółowo

Symfonia Produkcja Instrukcja instalacji. Wersja 2013

Symfonia Produkcja Instrukcja instalacji. Wersja 2013 Symfonia Produkcja Instrukcja instalacji Wersja 2013 Windows jest znakiem towarowym firmy Microsoft Corporation. Adobe, Acrobat, Acrobat Reader, Acrobat Distiller są zastrzeżonymi znakami towarowymi firmy

Bardziej szczegółowo

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny AiRIII gr. 2TI sekcja 1 Autorzy: Tomasz Bizon Józef Wawrzyczek 2 1. Wstęp Celem projektu było stworzenie sklepu

Bardziej szczegółowo

Przewodnik instalacji i rozpoczynania pracy. Dla DataPage+ 2013

Przewodnik instalacji i rozpoczynania pracy. Dla DataPage+ 2013 Przewodnik instalacji i rozpoczynania pracy Dla DataPage+ 2013 Ostatnia aktualizacja: 25 lipca 2013 Spis treści Instalowanie wymaganych wstępnie komponentów... 1 Przegląd... 1 Krok 1: Uruchamianie Setup.exe

Bardziej szczegółowo

INSTRUKCJA OBSŁUGI PANELU ADMINISTRACYJNEGO MÓJ DOTPAY v0.1

INSTRUKCJA OBSŁUGI PANELU ADMINISTRACYJNEGO MÓJ DOTPAY v0.1 Dział Pomocy Technicznej Dotpay ul. Wielicka 72 30-552 Kraków Tel. +48 126882600 Faks +48 126882649 E-mail: tech@dotpay.pl INSTRUKCJA OBSŁUGI PANELU ADMINISTRACYJNEGO MÓJ DOTPAY v0.1 Przyjmowanie płatności

Bardziej szczegółowo

S P I S T R E Ś C I. Instrukcja obsługi

S P I S T R E Ś C I. Instrukcja obsługi S P I S T R E Ś C I Instrukcja obsługi 1. Podstawowe informacje o programie.................................................................................... 2 2. Instalacja programu.....................................................................................................

Bardziej szczegółowo

Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy

Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy Instrukcja obsługi Zaplecza epk w zakresie zarządzania tłumaczeniami opisów procedur, publikacji oraz poradników przedsiębiorcy Spis treści: 1 WSTĘP... 3 2 DOSTĘP DO SYSTEMU... 3 3 OPIS OGÓLNY SEKCJI TŁUMACZENIA...

Bardziej szczegółowo

REFERAT O PRACY DYPLOMOWEJ

REFERAT O PRACY DYPLOMOWEJ REFERAT O PRACY DYPLOMOWEJ Temat pracy: Projekt i realizacja elektronicznego dziennika ocen ucznia Autor: Grzegorz Dudek wykonanego w technologii ASP.NET We współczesnym modelu edukacji, coraz powszechniejsze

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Rozpoczniemy od zaprojektowania bazy danych w programie SYBASE/PowerDesigner umieszczamy dwie Encje (tabele) prawym

Bardziej szczegółowo

KASK by CTI. Instrukcja

KASK by CTI. Instrukcja KASK by CTI Instrukcja Spis treści 1. Opis programu... 3 2. Pierwsze uruchomienie... 4 3. Okno główne programu... 5 4. Konfiguracja atrybutów... 6 5. Nadawanie wartości atrybutom... 7 6. Wybór firmy z

Bardziej szczegółowo

System magazynowy małego sklepu.

System magazynowy małego sklepu. System magazynowy małego sklepu. dokumentacja użytkownika. Mariusz Grabowski e-mail: mariosh@interia.pl Jabber ID: mariosh@jabber.autocom.pl Spis treści 1 Wstęp. 2 2 Przed uruchomieniem. 3 3 Korzystanie

Bardziej szczegółowo

Szpieg 2.0 Instrukcja użytkownika

Szpieg 2.0 Instrukcja użytkownika Szpieg 2.0 Instrukcja użytkownika Spis treści: Wstęp: 1. Informacje o programie 2. Wymagania techniczne Ustawienia: 3. Połączenie z bazą danych 4. Konfiguracja email 5. Administracja Funkcje programu:

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości część 2 Zaprojektowaliśmy stronę dodaj_dzial.aspx proszę jednak spróbować dodać nowy dział nie podając jego nazwy

Bardziej szczegółowo

Serwis jest dostępny w internecie pod adresem www.solidnyserwis.pl. Rysunek 1: Strona startowa solidnego serwisu

Serwis jest dostępny w internecie pod adresem www.solidnyserwis.pl. Rysunek 1: Strona startowa solidnego serwisu Spis treści 1. Zgłoszenia serwisowe wstęp... 2 2. Obsługa konta w solidnym serwisie... 2 Rejestracja w serwisie...3 Logowanie się do serwisu...4 Zmiana danych...5 3. Zakładanie i podgląd zgłoszenia...

Bardziej szczegółowo

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości część 3 przejdziemy teraz do zaprojektowania strony przegladaj_dzialami.aspx na której użytkownicy będą przeglądać

Bardziej szczegółowo

Pliki zorganizowano w strukturze drzewiastej odzwierciedlając strukturę logiczną aplikacji:

Pliki zorganizowano w strukturze drzewiastej odzwierciedlając strukturę logiczną aplikacji: Technologia wykonania projektu: HTML5 Javascript: o jquery (1.9.1), o CreateJS (0.6.1): EaselJS, TweenJS, PreloadJS. Części funkcjonalne projektu: Strona internetowa pliki strony internetowej zlokalizowane

Bardziej szczegółowo

Forum Client - Spring in Swing

Forum Client - Spring in Swing Forum Client - Spring in Swing Paweł Charkowski. 0. Cel projektu Celem projektu jest próba integracji Spring Framework z różnymi technologiami realizacji interfejsu użytkownika, oraz jej ocena. Niniejszy

Bardziej szczegółowo

MVC w praktyce tworzymy system artykułów. cz. 1

MVC w praktyce tworzymy system artykułów. cz. 1 MVC w praktyce tworzymy system artykułów. cz. 1 Tworząc różnego rodzaju aplikacje natrafiamy na poważny problem utrzymania dobrej organizacji kodu przejrzystej oraz łatwej w rozbudowie. Z pomocą przychodzą

Bardziej szczegółowo

Instrukcja instalacji i obsługi programu Szpieg 3

Instrukcja instalacji i obsługi programu Szpieg 3 COMPUTER SERVICE CENTER 43-300 Bielsko-Biała ul. Cieszyńska 52 tel. +48 (33) 819 35 86, 819 35 87, 601 550 625 Instrukcja instalacji i obsługi programu Szpieg 3 wersja 0.0.2 123 SERWIS Sp. z o. o. ul.

Bardziej szczegółowo

Monitoring procesów z wykorzystaniem systemu ADONIS. Krok po kroku

Monitoring procesów z wykorzystaniem systemu ADONIS. Krok po kroku z wykorzystaniem systemu ADONIS Krok po kroku BOC Information Technologies Consulting Sp. z o.o. e-mail: boc@boc-pl.com Tel.: (+48 22) 628 00 15, 696 69 26 Fax: (+48 22) 621 66 88 BOC Management Office

Bardziej szczegółowo

Jak korzystać z zasobu książek elektronicznych Małopolskie Biblioteki Publiczne platformy IBUK Libra

Jak korzystać z zasobu książek elektronicznych Małopolskie Biblioteki Publiczne platformy IBUK Libra Jak korzystać z zasobu książek elektronicznych Małopolskie Biblioteki Publiczne platformy IBUK Libra I. Korzystanie z IBUKa Aby móc w pełni korzystać z IBUKa, należy używać następujących przeglądarek internetowych:

Bardziej szczegółowo

www.kwp.edu.pl Instrukcja obsługi/instalacji platformy Krok w Przedsiębiorczość Administrator platformy

www.kwp.edu.pl Instrukcja obsługi/instalacji platformy Krok w Przedsiębiorczość Administrator platformy www.kwp.edu.pl Instrukcja obsługi/instalacji platformy Krok w Przedsiębiorczość Administrator platformy Wersja: 4_23/07/2012 1 Spis treści 1. Wymagania... 3 2. Konfiguracja serwera... 3 3. Parametry konfiguracyjne

Bardziej szczegółowo

Wymagane jest podłączenie serwera do Internetu (konieczne do zdalnego dostępu).

Wymagane jest podłączenie serwera do Internetu (konieczne do zdalnego dostępu). Spis treści Informacje ogólne...2 Tryby pracy...3 Wygląd interfejsu...4 Tryb użytkownika...5 Tryb administratora...6 Import kontrahentów z pliku XML...8 2 Informacje ogólne Aplikacja internetowa umożliwia

Bardziej szczegółowo

Przewodnik instalacji i rozpoczynania pracy. dla DataPage+ 2012

Przewodnik instalacji i rozpoczynania pracy. dla DataPage+ 2012 Przewodnik instalacji i rozpoczynania pracy dla DataPage+ 2012 Pomoc aktualizowano ostatnio: 29 sierpnia 2012 Spis treści Instalowanie wymaganych wstępnie komponentów... 1 Przegląd... 1 Krok 1: Uruchamianie

Bardziej szczegółowo

Ekspert radzi. mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8. Ekspert radzi.

Ekspert radzi. mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8. Ekspert radzi. Ekspert radzi mechanizm w enova, umożliwiający wskazanie domyślnej drukarki dla danego stanowiska i wydruku. Strona 1 z 8 Spis treści 1. Zarys rozwiązania...3 1.2 Case study...3 1.3 Wymagania...3 2. Projekt...3

Bardziej szczegółowo

M@klernet MOBILE - Instrukcja

M@klernet MOBILE - Instrukcja M@klernet MOBILE - Instrukcja Spis treści I. INFORMACJE OGÓLNE... 2 II. LOGOWANIE... 2 II. MENU... 4 IV. SKŁADANIE, ANULOWANIE, MODYFIKACJA ZLECEŃ... 6 1. Składanie zleceń... 6 2. Modyfikowanie i anulowanie

Bardziej szczegółowo

Podręcznik użytkownika

Podręcznik użytkownika Podręcznik użytkownika Moduł kliencki Kodak Asset Management Software Stan i ustawienia zasobów... 1 Menu Stan zasobów... 2 Menu Ustawienia zasobów... 3 Obsługa alertów... 7 Komunikaty zarządzania zasobami...

Bardziej szczegółowo

ECDL/ICDL Zarządzanie projektami Moduł S5 Sylabus - wersja 1.0

ECDL/ICDL Zarządzanie projektami Moduł S5 Sylabus - wersja 1.0 ECDL/ICDL Zarządzanie projektami Moduł S5 Sylabus - wersja 1.0 Przeznaczenie Sylabusa Dokument ten zawiera szczegółowy Sylabus dla modułu ECDL/ICDL Zarządzanie projektami. Sylabus opisuje zakres wiedzy

Bardziej szczegółowo

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

Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym 1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle

Bardziej szczegółowo

Microsoft.NET: LINQ to SQL, ASP.NET AJAX

Microsoft.NET: LINQ to SQL, ASP.NET AJAX Microsoft.NET: LINQ to SQL, ASP.NET AJAX Do realizacji projektu potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2008 oraz serwer bazy danych SQL Server Express 2005 (lub

Bardziej szczegółowo

WooCommerce (WordPress) Integrator by CTI. Instrukcja

WooCommerce (WordPress) Integrator by CTI. Instrukcja WooCommerce (WordPress) Integrator by CTI Instrukcja Spis treści 1. Opis programu... 3 2. Konfiguracja połączenia... 4 2.1. Połączenie z serwerem MS SQL... 5 2.2. Nawiązanie połączenia z Comarch ERP Optima...

Bardziej szczegółowo

Krok 2 Systemy transakcyjne

Krok 2 Systemy transakcyjne Krok 2 Systemy transakcyjne XTB-Trader Po zalogowaniu na rachunku konkursowym uzyskujemy pełną funkcjonalność platformy transakcyjnej. Przy pierwszym logowaniu ekran platformy wygląda jak na rysunku powyżej.

Bardziej szczegółowo

Dokumentacja Końcowa

Dokumentacja Końcowa Metody Sztucznej Inteligencji 2 Projekt Prognozowanie kierunku ruchu indeksów giełdowych na podstawie danych historycznych. Dokumentacja Końcowa Autorzy: Robert Wojciechowski Michał Denkiewicz Wstęp Celem

Bardziej szczegółowo

Instrukcjaaktualizacji

Instrukcjaaktualizacji Instrukcja Instrukcjaaktualizacji aktualizacji oprogramowania oprogramowaniainpro InProBMS BMS SPIS TREŚCI 1. AKTUALIZACJA 3 1.1. ARCHIWIZACJA BAZY DANYCH...3 1.1.1. AUTOMATYCZNA...3 1.1.2. RĘCZNA...4

Bardziej szczegółowo

Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu MacOS

Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu MacOS Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu MacOS Kontakt: e-mail: kontakt@mforex.pl infolinia: 22 697 4774 www.mforex.pl 1 1 O platformie Platforma mforex Trader to część systemu

Bardziej szczegółowo

WYKORZYSTANIE WZORCA MVC W ASP.NET

WYKORZYSTANIE WZORCA MVC W ASP.NET MACIEJ WĘGRZYNOWSKI Wydział Elektroniki i Informatyki Politechniki Koszalińskiej Kierunek Informatyka, II rok studiów niestacjonarnych drugiego stopnia Przedmiot PROGRAMOWANIE W ŚRODOWISKU.NET WYKORZYSTANIE

Bardziej szczegółowo

MODUŁ OFERTOWANIE INSTRUKCJA OBSŁUGI

MODUŁ OFERTOWANIE INSTRUKCJA OBSŁUGI MODUŁ OFERTOWANIE INSTRUKCJA OBSŁUGI 1 1. MOŻLIWOŚCI Moduł Ofertowanie jest przeznaczony do programu Symfonia Handel Forte. Jego zadaniem jest wspomaganie działania pracowników firmy w przygotowywaniu

Bardziej szczegółowo

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe

Architektury Usług Internetowych. Laboratorium 2. Usługi sieciowe Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache

Bardziej szczegółowo

Zulutrade. w pełni automatyczne inwestowanie. [Wersja 1.1]

Zulutrade. w pełni automatyczne inwestowanie. [Wersja 1.1] Zulutrade w pełni automatyczne inwestowanie Zulutrade to nowatorska usługa na rynku forex. Stanowi połączenie między inwestorami poszukującymi systemów transakcyjnych, a tymi którzy je tworzą. Zulutrade

Bardziej szczegółowo

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych

Część I Tworzenie baz danych SQL Server na potrzeby przechowywania danych Spis treści Wprowadzenie... ix Organizacja ksiąŝki... ix Od czego zacząć?... x Konwencje przyjęte w ksiąŝce... x Wymagania systemowe... xi Przykłady kodu... xii Konfiguracja SQL Server 2005 Express Edition...

Bardziej szczegółowo

Notowania Mobilne wersja Java

Notowania Mobilne wersja Java Notowania Mobilne wersja Java Instrukcja obsługi programu Notowania Mobilne to aplikacja, która pozwala na dostęp do notowań giełdowych w czasie rzeczywistym z każdego miejsca na świecie, gdzie tylko możliwe

Bardziej szczegółowo