[linux] EIS - aky programatorsky nastroj II.

Matej Pivoluska pivoluska na matfyz.cz
Sobota Duben 12 13:09:56 CEST 2003


/*Ospravedlnujem sa, odoslalo sa to skor, ako som mienil... ;) */
Dňa So 12. Apríl 2003 11:32 Jan Kostial napísal(a):
> Môj názor:
> Na tom, ktorý db server použiť, príliš nezáleží
> pre predpokladané nasadenie (cca 3-20 klientov).
> Osobne sa ale prikláňam k DB independent riešeniu.
> Napríklad preto, že užívateľ (používateľ?) už môže mať
> bežiaci db server (možno aj kúpený za veľké peniaze)
> a bolo by nanič inštalovať tam ďalší, v prípade že je iný.
> A možno aj preto, ak bude EIS úspešný (a ja chcem aby bol úspešný)
> a bude sa tlačiť do väčších firiem, aby nebol problém.

OK, aj ja suhlasim, ale bolo by podla mna vhodne spravit nejake univerzalne 
rozhranie na pristup do db a nad nim postavit optimalizovane implementacie na 
pristup k jednotlivym databazam (a pre zaciatok jednu univerzalnu - hoci 
neoptimalizovanu implementaciu napr. pomocou ODBC.)

/*Odtialto pokracujem */

Zatial sa s tym (db) uz nezaoberajme, pride na to vhodna chvila.

> V závere diskusie vo večerných hodinách sa ozvali názory,
> že je úplne jedno v akom jazyku to nakodiť, hlavné je urobiť
> dokonalú analýzu, návrh, dokumentáciu, popis rozhraní,
> vývojové diagramy, ...
>
> S tou analýzou , atď. samozrejme súhlasím.
> V otázke jazyka už až tak moc nie. Neviem si predstaviť ťukať
> to v assemleri... ;-) K tomu sa už ale nemusíte vyjadrovať.
> Rozhodol som sa pre ten Python. Možno v kombinácii s C++.

Ja si ale aj tak dovolim vyjadrit sa k tomu. V zavere diskusie bolo povedane 
podla mna to, ze nie je jedno, v akom jazyku sa to bude robit, ale ze *teraz, 
v tejto faze* je to jedno a je o tom predcasne rozpravat. Viem, viem, bolo to 
tam povedane trochu v inotajoch, tak to mohlo vyzniet aj tak, ako si to 
pochopil ty.

Vhodne implementacne nastroje sa vyberu neskor, ked bude spravena analyza a 
bude sa crtat navrh jadra, principu prepojenia modulov a aspon niektorych 
modulov samotnych. 

Mozno bude vhodny Python, mozno bude vhodne nieco ine. 

> Otázka architektúry - volím trojvrstvú.

Mozem suhlasit, ale toto je tiez predcasny vystrel. (No s najvacsou 
pravdepodobnostou spravny.) Kto vie, mozno sa hodi aj viacvrstva architektura 
:-)

> Takže hurá do návrhu.
>
> A tu by som chcel pomôcť :
>
> Aké sú vhodné nástroje na kreslenie diagramov, dátových modelov
> a všeobecne tvorbu dokumentácie ?
> Ozaj, čo je to UML ? Nejaký \"modeling language\"? (Maťo Pivoluska)

Ano, dokonca "Unified Modeling Language", je to graficky jazyk, ktory pomocou 
symbolov/geometrickych utvarov a roznych sipiek umoznuje zakreslenie tried, 
dedicnosti, asociacii..., architektury a rozhrania, sekvencnych diagramov...

Skusim po lopate: UML jednak umoznuje zakreslenie, ako vyzera (datovy) model 
staticky, umoznuje zakreslit povolene stavy objektov, a umoznuje zakreslit aj 
to, ako objekty medzi sebou komunikuju.


Ak sa zvoli objektovy pristup k veci, je to mocny nastroj, ktory dost ulahci 
robotu.

Necitim sa byt tym zodpovednym, co bude vysvetlovat ako funguje OO 
analyza/navrh, preto uz len odkazem na nejake zdroje ohladom UML a 
objektoveho navrhu, ostatnych by som poprosil, aby ich doplnili o dalsie, 
ktore im pomohli.

Pre zaciatok, nejake ukazky UML diagramov:
http://www.geocities.com/SiliconValley/Network/1582/uml-example.htm
http://jeffsutherland.org/oopsla98/pavel.html

Viac info o nom ziskate na stranke OMG (Object Management Group), ktora sa 
stara o UML a dalsie mile nastroje, (ktore asi tiez vyuzijeme, napr. CORBA): 
http://www.omg.org/gettingstarted/specintro.htm#AnalDesSpecs

Co sa tyka literatury dostupnej u nas, dobra knizka o tom, ako kreslit v UML + 
ako robit OO navrh je:

Meilir Page-Jones: Základy objektově orientovaného návrhu v UML, Grada 
Publisching, 2001, ISBN 80-247-0210-X
z anglickeho originalu, Meilir Page-Jones: Fundamentals of Object-Oriented 
Design in UML, first edition, Addison-Wesley, 2000

Ale necham sa poucit aj o inych knizkach (ktore sa daju na Slovensku zohnat), 
viem, ze existuje aj nieco od Sereru, ale nespomeniem si nazov, preto vyzyvam 
vsetkych, aby sa k tomu vyjadrili, ktore sa tym zaoberaju. Uvody do OO 
designu a UML su aj v Eckelovyh knizkach Myslime v jazyku C++ a Myslime v 
jazyku JAVA (tiez Grada) (v anglictine ku stiahnutiu na 
http://mindview.net/Books)

Chyba mi vsak literatura, ktora by pojednavala o tom, ako robit analyzu, na co 
sa zamerat, na co sa vykaslat... 

Osobne sa napr. necitim na to, aby som zacal teraz robit analyzu tohoto 
systemu, nikdy som ziaden ekonomicky softver nepouzival ani neinstaloval 
(teda, cest 1 vynimke) a neviem si poriadne predstavit, po com taka 
referencna firmicka tuzi, tu sa musia najrv vyjadrit ludia priamo z pola, co 
by v tom systeme radi videli, s cim su nespokojni v sucasnych systemoch, etc. 

Uz som videl prvu lastovicku. (Prispevok od Misa Veseleho.)

My, vyvojari potrebujeme najprv co najpresnejsie poziadavky, co by malo byt v 
systeme naimplementovane, potom si ich precitame a prelozime to do nasej 
reci, potom to vratime spat zadavatelom, aby sa na to kukli, ci sme to 
pochopili spravne. 

*** Preto by som rad inicioval diskusiu na temu: co ocakavaju Vase srdiecka od 
tohto systemu. ***

Ja len tolko: robit to co najuniverzalnejsie, aby nebol problem s upravou pre 
platne predpisy (aby nevysli medzy tym nove, kym sa system upravi ;-), 

idealne by bolo, keby sa to robilo pomocou nejakych kniznic ci konfigurakov, 
ktore by sa len jednoducho pridali k systemu a uz by to vedelo fungovat, 
ziadne preinstalovavanie klientov, ziadne servisne vyjazdy, ziadne konverzie 
starych dat. Nech to funguje tak ako napr. aktualizacia antivirovych softov, 
najma ak takyto support bude plateny.

Dalej aby nebol az taky problem spravit napr. cesku ci polsku verziu, najma 
Cechy su podla mna dost potencialna oblast mozneho nasadenia, aspon co 
sledujem tie diskusie.

...aby nebol problem s rozsirovanim pre specializovane nasadenia a upravou 
workflow. (Ved toto bude ten projekt zivit.) Treba mysliet aj na spatnu 
kompatibilitu, co sa obsahu db tyka.

> No a ešte k tomu budeme potrebovať podporu inetu.
> WWW stránky s informáciami o cieľoch, stave a smerovaní projektu
> s možnosťami downloadu, atď. Najlepšie v slovenčine.
>
> KAM S NIMI?

Podla mna projekt potrebuje (podla dolezitosti v uvodnej faze): 0.) ludi, 1.) 
Mailing-List, 2.) CVS, 3.) ftp, 4.) www stranky, ktore budu informovat o 
projekte, info o komercnom supporte, bude na nich dokumentacia a moznost 
stiahnutia.

Rozsiahlejsie a graficky prepracovane (ale nie prehnane) www stranky budu 
dolezite vtedy, ked bude existovat nejaka ucelena alfa verzia, aby bolo co 
prezentovat. 

> A ďalej mailing listy:
> Jeden s obmedzeným okruhom abonentov - pre vývojársky team.
> Jeden verejný ale \"ReadOnly\" pre záujemcov o automatické zasielanie
> noviniek. Neskôr jeden verejný pre hlásenie chýb, podnety a návrhy od
> testerov a užívateľov.
>
> Viete dať DOBRÝ TIP ?
> Môže pomôcť SKLUG alebo Linux.sk?



-- 
Matej Pivoluska (mP)
Charles University in Prague
Faculty of Mathematics and Physics

-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS d+ s++: a--->-- C++$ UL+++$ P+++@ L+++$ E--- W++ N+ o? K? w-- O- 
M@ V- PS PE+ Y+ PGP++ t@ 5 X-- R !tv b++++ DI? D  G++ e>++++ h r++ y? 
------END GEEK CODE BLOCK------




Další informace o konferenci linux