Základní stanovení - Kolik lidi / pacientů slevovat (nemocnice

Transkript

Základní stanovení - Kolik lidi / pacientů slevovat (nemocnice
Základní stanovení
- Kolik lidi / pacientů slevovat (nemocnice, domov o pár lidech), zhruba počet.
- Na jakém prostoru / ploše (vnitřek budovy, okolí budovy, venkovní plac, město, krajina).
- Jak přesně sledovat (metry, místnost, část placu, oblast).
- Jak spolehlivě sledovat (zcela jistě, orientačně, možnost výpadku, dopočet z okolí).
- Jak spolehlivě / přesně zobrazovat (skutečná mapa, oblasti, chodby, místnosti).
Základní možnosti
- Bezdrátové (např. náramky) pojítka nainstalovaná po celé budově, venku jedině GPS
(absolutní poloha na několik metrů)
- RFID na osobě / boty a detekovat průchody přes předem dané oblasti (pouze pohyb přes
záchytné body)
Bezdrátové řešení
- (+) Chodí v budově i venku, ale nutno použít vždy jinou technologii (ZigBee / BlueTooth - GPS)
- (+) Venkovní prostředí je řešitelná pro velké vzdálenosti pouze přes GPS, pro malé zahrady
postačí ZigBee / BlueTooth / … GPS přes GSM se platí, ZigBee / BlueTooth nikoli.
- (+) Sledovaná osoba se v podstatě neztratí, vždy ji nějaký prvek / pojítko vidí (snad)
- (+) Vhodné i pro celkem velký počet a rychleji se pohybujících lidí
- (+) mužnost snadno kombinovat vnitřní / vnější sledování, ale za použití jiné technologie i
v jednom pouzdře
- (-) Nutnost napájení, baterie, kontrolovat, jinak je nespolehlivé
- (-) Uvnitř budovy problém – železné konstrukce, nutnost bezdrátového pojítka v každé
místnosti, občas i za každým rohem při dlouhé / velké místnosti, pojítka nutno často propojit
drátově, nutné jejich napájení při velkém počtu, celkem drahé
- Elmg. pole všude kolem – není dobré
RFID
-
(+) Žádné napájení, ideální skoro bezúdržbové, téměř doživotní
(+) Není žádné stálé elmg. pole kolem sledované osoby a ostatních lidí – ideální
(-) Snímání pouze na určitých místech (čtečky, průchody, …), levné
(-) Zaznamenává se pouze průchod, nikoli pozice, při ztrátě průchodu je ztráta informace,
nutno korigovat z okolních průchodů
(-) V podstatě pouze pro vnitřní detekci, možný odchod z budovy ven a příchod
(-) Nutno umístit na člověka do vhodného místa pro snímač (například bota pro snímač v
podlaze)
(-) Vhodné pro celkem malý počet a pomaleji se pohybujících lidí, běh kolem snímače nemusí
být zaznamenán, větší počet lidí může snímač zmást
Zobrazení
- Pouze na jednom místě (centrála) nebo na více místech současně (ostraha, sestry, …)
- Pouze na stolním PC nebo i přes WWW rozhraní. Zobrazení na mobilech a tabletech nutně
nevyžaduje WWW rozhraní, lze vytvořit pomocí TCP/IP spojení, není nutno vytvářet WWW
stránky.
- Jak precizní / pěkné zobrazení, 2D symbolické, 3D tvar budovy, osoby, …
-
Máme zobrazení 3D v DirectX, ale běžící pouze na stolním PC, pokud najdu studenta, tak
bude předěláno do WPF (.NET C#) pro činnost i pomocí WWW (.NET SilverLight)
Nutno si dobře uvědomit
- Jsme škola a ne firma, naší (hlavní) náplní není programování velkých věcí skládajících se
z několika technologií, toto je velmi časově náročné a v budoucnu nelze udržovat
- Pokud možno pro SW část používat pouze jednu technologii nejlépe, kterou někdo z řešitelů
celkem dobře zná
- Používat pokud možno technologie, za nimiž stojí velké firmy, nikoli skupina nadšenců, hrozí
kdykoli radikální změna nebo ukončení, firma by přišla o zisk, ale nadšenci o nic
- Do zbylé části (například od firmy, jiné skupiny) dohodnout pouze vhodný „interface“ a za
něho nejít. V případě že někdo jiný projekt vzdá tak jsem schopni jeho část nahradit.
- Pokud to jde, vyhnout se integrování s firmou nebo jinou skupinou na úrovni zdrojového
kódu, mimo dohodnutý „interface“.
- Vždy myslet na to aby naše část byla použitelná i jinde, kdyby to od ostatních selhalo.
-
Pro testy nevytvářet žádný vlastní HW, buď použít nějaký již vytvořený, od nějaký firmy i
speciální, nebo použít něco zcela běžně dostupného jako například chytrý telefon.
Některé návrhy (někdo by ale měl k tomuto napsat opak pro zde kritizované technologie)
- Za .NETem stojí 29 firem, které jej vytváří a zajišťují jeho budoucnost. Za JAVA stojí pouze
jedna (SUN/ORACLE), jiní si raději udělali svoji (IBM – ne zcela kompatibilní), protože se
nedočkali za mnoho let požadované úrovně.
- Velké firmy jako NOVEL / IBM velmi sponzorují zajištění podpory .NETu na všem dalším než
WIN (hlavně LINUX). Jak je to s JAVA ?
- V .NET lze udělat jak stolní aplikaci, tak WEB aplikaci zcela stejným stylem a velkou přepoužitelností kódu. Zcela stejný programovací jazyk. Lze vůbec něco takového v JAVA ?
- Instalace aplikace v .NETu je hračka, prostě nakopírovat. Instalace aplikace v JAVA je (hrůza) ?
- Možná 99% uživatelů používá WIN. Aplikace v .NET lze vytvořit za zlomek času než v JAVA,
nemá význam se nad tímto zamyslet.
- Na WIN bez .NETu ani ránu. Bez JAVA asi v pohodě. Na LINUXu bez .NETu asi taky již ani ránu,
bez JAVA ?
- JAVA využívá často OpenGL na 3D a to jsou často velké problémy rozchodit. .NET využívá
DirectX / XNA / WPF na 3D podle typu aplikace a to chodí všude (tedy všude na WIN).
- V .NETu je nová stavová grafika 3D ve WPF / SilverLight to nelze ani pospat, kam dáte čáru do
prostoru tak tam prostě je, dokud s ní nepohnete, lze na ni klikat, unikátnost.
- Budete psát aplikace na Android v JAVA, když na WM7 (.NET Compact Framework) a IPad
(MonoTouch) běží nádherně .NET a jsou tyto telefony tedy zcela programově kompatibilní
(jedna aplikace). Proč to vše nepsat v .NETu a na Android nepoužít MonoDroid (opět
sponzoruje NOVEL) aby to bylo skutečně přenositelné a nezáleželo na telefonu. Knížky o
.NETu pro Androida (MonoDroid) a IPad (MonoTouch) jsou dostupné. Proč to asi NOVEL dělá
že by jej ta JAVA taky zklamala, jako mnoho dalších?
- Proč používat strašně nízko-úrovňové OpenGL (bohužel Android), když v .NET je WPF /
SilverLight pro 3D a to i na všech telefonech (snad).
-
-
-
Mnoho lidí si v .NETu neuvědomuje jednu velmi důležitou skutečnost a to: pro .NET existuje
mnoho jazyků jako Pyton, Prolog, F# (funkcionální jazyk) a další, nejde pouze o to vytvořit
program v tomto jazyku, ale lze jej zcela snadno zakomponovat do vlastního programu v jiné
jazyce (C#) prostým volám jeho funkcí (nikoli externího programu), hlavně jej lze přidat do
WEB aplikace vytvořené v .NET a tam zcela použít, můžete mít WEB aplikaci obsahující přímo
v sobě kód z funkcionálního jazyka se 3D výstupem ve formě grafů. Toto se vám u PHP / JAVA
/ JavaScript „zatím vůbec“ nepovede. Proto se vše tak pracně přes JavaScript / PHP
transportuje z klienta na server pro výpočty a potom zpět a přitom je server BUSY a
uživatelův I7 3GHz procesor nic nedělá. Přitom má často větší výpočetní výkon než server.
Toto pochází z dávno minulé doby, která jej již pryč. My již žijeme ve 21ím století.
Obdoba SilverLight pro LINUX je MoonLight, ale nevím jak je to daleko a spolehlivé. Takže i
WEB aplikace by měli běžet v prohlížeči na LINUXu.
Aplikaci na WEB vytvořena v SilverLight.NET lze přímo naistalovat na lokál a tím používat i bez
internetu, pokud taková situace nastane a teprve potom odeslat data až bude na internet
přístup. Lze tedy vytvořit aplikaci pouze jednou a to zcela internetovou a zároveň lokální,
běžící i v případě výpadku internetu. Co jiného toto umí?
V mnoha pramenech se udává potřeba průměrně třetiny času a řádků kódu pro vývoj
aplikace v .NETu, oproti vývoji aplikace v JAVA. V JAVA jsem kdysi dělal (hodně) a mohu
potvrdit.
http://monodevelop.com/
http://www.mono-project.com/Main_Page
http://mono-framework.com/Moonlight
http://www.mono-droid.com/
Wiley - Professional iPhone Programming with Mon Touch and NET CSharp (2010)
Professional Android Programming with Mono for Android and NET CSharp
Hlavní rozdíl mezi LINUX a WIN:
LINUX
- Asi zcela nekoordinované, každá skupina nadšenců si asi dělá vše podle sebe a pro sebe
- Na stolní PC je JAVA / C++, na WEB PHP (servery) / JavaScript (klienti) / Jumla / Drupal a další
podle aktuální nálady tvůrců
- Předělat program z lokálu na WEB znamená program zcela předělat do zcela jiného jazyka /
prostředí
- Různé jazyky JAVA, Python, … všechny své vlastní GUI, pokud tedy vůbec nějaké mají, zcela
oddělené aplikace, ať si programátor užije při přechodu z jednoho na druhý nebo jejich
spojením
- Potřebujeme (programátoři / uživatelé) nový jazyk na … tak si to uděláme jako vlastní /
samostatný program, vlastní GUI a další, bude to chodit pouze na lokále na WEB již ne a
podobně (tvůrci WEB technologií o tom nevědí), ať se z toho programátoři pomátnou
- Vytvořit kus v JAVA (GUI) a část a Python / … (logika) je často strašná práce při spojení
- Komunikace mezi aplikace často přes příkazový řádek nebo „roury“ z aplikace do aplikace, no
asi zcela vhodně pro objektové programování
- Čím více prostředí, tím více práce a tím více odradit programátora a tedy i uživatele
- Vývojové nástroje – pro každou technologie zcela jiné, jen se v to vyznejte programátoři
-
-
-
-
Pro každou potřebu jiná technologie a nástroje / jazyky (JAVA, PHP, …) a potom to propojit je
umění a každá používá zcela jiná jazyk, datové typy atd.
Pokud jsi programátore udělal aplikaci v JAVA a chceš z toho mít aplikaci na WEB, tak si ji
úplně předělej, nebo příště použij třeba .NET, tam tě toto již nepotká, ušetříš čas
WIN
Asi zcela koordinované, vše využívá vše pro společný základ a je to pro programátory /
uživatele
Na stolním PC je to .NET na WEBu je to .NET, no prostě všude
Předělání mnoha běžných aplikací z lokálu na WEB je úpravou, často pouze několika řádků
Různé jazyky C#, Python, … pouze jazyky pro .NET, zcela stejné GUI, většinou stejně
vytvářené, přechod z jednoho na druhý je často hračka
Potřebujeme nový jazyk na …, ať vás ani nenapadne dělat něco zcela svého, využijete .NET
aby to mělo stejné GUI, běželo na lokále i WEBu a atd., ať programátoři použití stále zcela
stejné GUI, vývojové nástroje a pouze přidají soubor vašeho nového jazyka
Vytvořit kus v C# (GUI) a cast v Python / F# (logika) je hračka, do projektu se pouze přidá
soubor s příponou cílového jazyka, vzájemné volání jako jednoho prog. jazyka
Komunikace mezi aplikacemi snadná, mám objekt a zadám ident cílové aplikace a WIN to tam
pošlou a to i když je aplikace na jiném PC (WCF).
Vše společný základ v .NET (běhové prostředí) a pouze moduly, které se pouze slinkují
ADO.NET pro databáze, ASP.NET pro serverové věci, SiverLight.NET pro klientské věci, 3D
grafy WPF.NET, meziaplikační komunikace WCF.NET a další, všechny mohu používat zcela
stejný jazyk (C#), stejné datové typy
Vývojové nástroje – jedno unikátní IDE pro všechny jazyky a lokal i WEB. Co více si přát pro
snadný a rychlý vývoj aplikací.
Čím méně prostředí, tím jednodušší přechod a tím vyšší výkon, jednota pro programátory a
uživatele
Je zřejmé, že přístup LINUXu a WIN je dosti opačný. Proč když je LINUX a vše jeho zdarma, tak firmy
raději pořídí WIN a koupí vývojové nástroje od MS, no důvod je jasný -> úspora času a velké
schopnosti, pře-použití kódu atd. Proč IBM a Oracle jsou v první desítce firem pro vývoj .NETu, že by
své JAVA nevěřily? Proč firmy jako National Instruments nebo NOVEL své programy dělají v .NETu a
ne v JAVA? Toto není náhoda. Ona asi nejednota a politika LINUXu silně pomůže Microsoftu ten
monopol získat. Touto stávající politikou v nejednotnosti nástrojů pro vývojáře je pouze odradí.
Tady je potřeba aby někdo napsal jak je .NET / WIN špatný !!!
Pozor na skutečnosti
- Studenti na BP / DP si udělají vše podle sebe (prog. jazyk a prostředí) a potom vedoucí
v podstatě nemá nic, protože nic do sebe nezapadá (Vláďa Eck – Matlab, Delphy, JAVA,
C/C++, …), nelze nic spolu použít, v podstatě jako by to nebylo
- Pouštět se (pouze) do velkých projektů využívajících pouze jednu technologii. Pokud uděláme
stolní aplikace v .NET (C#) / JAVA a vebové v PHP / JavaScrip, použijeme několik Open-Source
balíčků pro přenos videa / 3D grafiku a další, tak do tohoto projektu již nikdo nikdy
nezasáhne / nevylepší a je to jeho konec, zbytečná práce.
Aplikace použitelné pro sledování osob
-
-
-
-
Byl jsem na veletrhu pro inteligentní domy a všem firmám velmi shází pěkné WEB rozhraní na
informace a řízení domu. Používají nějaké strašné PHP s 2D obrázkem a na něm ikony.
Pokusně jsem něco udělal ve 3D v SilverLight.NET (verze 5 je zatím pouze beta) a to vzbudilo
ohromný zájem. Nevěřili, že mi stačí pouze WIN s IIS (Internet Information Service ve WIN)
pro vytvoření v podstatě stejné aplikace pro řízení domova z lokálu i z WEBu a to
s nádherným interaktivním 3D modelem domu. Pokusím se sehnat studenty aby toto ještě
zdokonalili a původní verzi z DirectX upravili na WPF / SilverLight pro činnost na WEBu.
Hodně lidí má doma WIN pro filmy i jako server (Například Windows Media Center), když na
něm poběží i vzdálený přístup s nádherným 3D zobrazením domu, tak se na to uživatelé
vrhnou.
Velmi ty firmy zajímá bilance spotřeby energie a časy svícení v jednotlivých místnostech, ale
toto nelze podat jako placatý obrázek pro zákazníky. Také bych to chtěl vytvořit jako 3D
model domu a barevně zobrazené místnosti podle časů svícení, ztráty energie a podobně.
Toto by se tedy zcela rovněž shodlo pro sledování osob, ale pouze v malých oblastech jako je
například nemocnice.
Studenty toto velmi táhne, protože hodně jich to poté chce doma použít a hlavně jde o
reálnou a použitelnou věc.
Nedávno jsem mluvil s člověkem co vytváří nějaké studie pro o spotřebě v domech pomocí
chytrých elektroměrů a toto mé nápady rovněž velmi zaujaly pro zobrazení pro zákazníky.
Řízení domácnosti (vzdálené) a sledování osob (v omezeném prostoru) může být téměř úplně
stejné a tedy zcela pře-použitelné.
Některé moje poznatky
- Mnoho lidí se diví, kolik toho stihnu udělat, důvody jsou hlavně následující:
o Používám (se studenty) pouze jeden prog. jazyk (C#) a jednu platformu (.NET)
o Je velká pře-použitelnost kódu mezi mnou a studenty
o Každý dělá dobře oddělenou, ale zapadající část
o Pro stolní PC i WEB používám stejné technologie (WPF, SilverLight) při přepoužitelnosti zhruba 90% kódu (o tom se JAVA, JavaScript, PHP a podobným věcem
ani nezdá)
o Velká pře-použitelnost kódu na stolní PC, PDA, telefony, WEB
o Velmi snadný vývoj (ladění) při použití všech nástrojů zdarma a hlavně pořád pouze
jednoho nástroje, všichni používají jedno IDE, snadno kdokoli poradí, předá projekt
- Nijak (již) zásadně nepoužívám problémové technologie jako JAVA (problémy při instalaci u
cílové osoby), OpenGL (problémy s během na mnoho grafických kartách), Open-Source
(ukončení vývoje a hotovo)
- Používám pouze to, co se nakopíruje a běží, zatím jsem žádnou aplikaci nikdy neinstaloval,
pouze nakopíroval
- Používám(e) pouze komponenty a části dané použitou technologií / platformou, buď vůbec,
nebo velmi omezeně různé Open-Source balíčky, při přechodu na novější verzi platformy jich
hodně přestane chodit (katastrofa)
- .NET obsahuje vše v sobě, od běžných věcí, přes prezentační 3D (WPF) na grafy až po herní
záležitosti (XNA), hlavně žádné Open-Source 3D podpory pocházející z OpenGL
- Nikdo nemá možnost použít nic jiného než .NET (C#), komukoliv poradím, kdokoliv cokoliv po
komkoliv použije
-
-
-
-
-
-
Do projektu vytvořeného v jednom jazyce / prostředí zasáhne kdokoliv a kamkoliv, pokud
chce někdo upravit aplikaci na WWW (přenos dat) podle aplikace na stolním PC je to
„hračka“, protože se jedná v podstatě o stejný kód
Příkladem může být vytvořené „univerzální úložiště“, nikdo nebude dělat / učit se ty strašné
SQL dotazy a dělat si vlastní databázi. Pokud někdo přijde stylem „já si udělám vlastní DB“,
tak půjde. Pokud někdo přijde stylem „tvoje DB je nedokonalá a je potřeba ji vylepšit“, tak
toho nikam jinam nepustím. Jednotný formát uložených dat a použitelnost ve všech
projektech je unikátnost a neuvěřitelná úspora času.
Když někdo z uživatelů zjistí chybu v .NET aplikaci, tak včas opravím a pošlu mailem, nebo
přes server a i doktoři bez technického vzdělání jsou schopni tento EXE překopírovat do
složky a tím udělat aktualizaci (když vidím jak u JAVA začíná instalace příkazovým řádkem, tak
to bych si těžko dokázal).
V žádném případě LINUX (nová verze každý rok a plno věcí tam nechodí, kompatibilita
katastrofa, kompatibilita na úrovni zdrojového kódu je k smíchu)
Vzal jsem si příklad z principu vývoje WIN / .NETu a ne z LINUXu. Doufám, že jsem udělal
správně.
Zcela opomíjená, ale zcela nejhlavnější podmínka úspěchu je: v kolektivu se musí lidi cítit
dobře:
o Se všemi o všem jednám a může kdokoli ze studentů cokoli navrhnout
o Mnoho studentů do některých věcí vidí více než já, ještě že je mám
o Studenti se schází i navzájem aby viděli, že to jejich někam zapadá a naučí se
vyjednávat s dalšími (velmi potřebné pro úspěch celku)
o Snažím se jím co nejvíce prog. částí poskytnout abych jim ušetřil čas na důležité věci
(úložiště, grafy, USB, …)
o Jakmile se vyskytne někdo, koho ostatní nemají v oblibě (může být i velmi schopný),
tak okamžitě zadat dostatečně samostatnou práci a dostatečně od zbytku odstínit /
nescházet, ostatním by se poté nechtělo na porady a podobně, strašně potom klesne
zájem ostatních, jeden člověk může vše zcela pokazit
Zatím mi pouze jeden student (v projektu v týmu) řekl, „v JAVA by se toto dělalo lépe“, ale je
to člověk od kterého jsem nikdy nic neviděl a musel jsem jej z toho týmu trochu vyčlenit,
protože ostatní se k němu nijak nehlásili. Jinak všichni .NET schválí a teprve když zkusí 3D ve
WPF.NET se stavovou grafikou, to se jim již ani nechce na cvičeni z JAVA (jak mi to někdo
jednou vylíčil).
Pokud někdo chce vidět nějaké aplikace v .NETu (C#):
o Šlapadlo / Plantograf – celkem velká aplikace (USB, databáze, 3D grafika), původně
OpenGL ale problémy, nyní DirectX a vše v pohodě, běžící pouze na WIN
o Šilhavost – WPF / SilverLight, stejné aplikace na lokále i na WEBu, USB, 3D grafika
WPF, běží pouze pod WIN. Aplikace z WEBu lze nainstalovat na lokál a používat i bez
přístupu na internet, mohou cvičit i chatě. Toto všechny hodně nadchlo.
o Hendikepáči – běží pouze pod WIN

Podobné dokumenty

Údaje o DIPLOMOVÉ PRÁCI studenta Údaje o

Údaje o DIPLOMOVÉ PRÁCI studenta Údaje o 3. Název dle studenta: Informační systém biskupství 4. Název dle studenta v angličtině: Information System for Bishopric 5. Souběžný název: 6. Podnázev: 7. Anotace (krátký popis práce): Tato diplom...

Více

Seznam ke stáhnutí

Seznam ke stáhnutí Klubová knihovna - seznam knih, map a časopisů 1. Liste aller Wege in der Sachsischen Schweiz der Sweirigkeit uber VIIc (rok 1978) Gisbert Ludewig 2. Pískovcové skalní oblasti v Čechách (průvodce 1...

Více

ACORN International provisionally affiliated ACORN

ACORN International provisionally affiliated ACORN uvnitř sdružení. Není dovoleno na území působnosti vytvářet hlasováním nebo členským složením majority proti ženám nebo proti členům mladších 27 let. Rozhodnutí nereprezentativní majority proti men...

Více

Jak na bezdrátovou síť

Jak na bezdrátovou síť DHCP server v routeru. Eliminace druhého nebezpečí už tak triviální není, je nutno zvolit jeden ze dvou scénářů: první, jednodušší na nastavení (zato horší na spravování) je nechat IP adresu pro AP...

Více

Bakalářská práce na téma sociální sítě

Bakalářská práce na téma sociální sítě nejdůležitější atribut pro rozvoj portálu společně s koncentrací uživatelů. Komunikační model manyto-many umožňuje oslovení velkého počtu uživatelů, kteří jak sami vytvářejí obsah, tak získávají in...

Více

Řecko na kole - Odbor vysokohorské turistiky KČT TJ Spartak Přerov

Řecko na kole - Odbor vysokohorské turistiky KČT TJ Spartak Přerov veselá nálada, ale my musíme dál. Za Vrisochori končí asfalt a začíná adrenalinový sjezd po šotolině k řece Aoos. Brzdy dostávají pořádně zabrat. Jezdecká chyba či selhání techniky by měly katastro...

Více