-
1. Data: 2011-11-15 12:15:43
Temat: Narzedzia CASE i generowanie kodu
Od: "MK" <s...@p...onet.pl>
Witam grupowiczow
Chcialem sie zapytac jako nowicjusz o mozliwosci obecnych darmowych narzedzi
modelowania CASE np. w jezyku UML. Podobno mozna w nich tak zaprojektowac
aplikacje aby na podstawie projektu wygenerowac kod takiej aplikacji np. w
jezyku Java. Chodzi mi o to czy w takich narzedziach mozna np. zaprojektowac
prosta formatke z komponentami typu przycisk, pole edycyjne, itp. bez
polaczenia z baza danych, aby na tej podstawie wygenerowal sie kod w
okreslonym jezyku korzystajac z okreslonych bibliotek danego jezyka np.
Swing w Javie ?
Za wszelka odpowiedz serdecznie dziekuje.
Pozdrawiam
M.K.
-
2. Data: 2011-11-15 12:44:07
Temat: Re: Narzedzia CASE i generowanie kodu
Od: Jacek Czerwinski <...@...z.pl>
W dniu 2011-11-15 13:15, MK pisze:
> Witam grupowiczow
>
> Chcialem sie zapytac jako nowicjusz o mozliwosci obecnych darmowych narzedzi
> modelowania CASE np. w jezyku UML. Podobno mozna w nich tak zaprojektowac
> aplikacje aby na podstawie projektu wygenerowac kod takiej aplikacji np. w
> jezyku Java. Chodzi mi o to czy w takich narzedziach mozna np. zaprojektowac
> prosta formatke z komponentami typu przycisk, pole edycyjne, itp. bez
> polaczenia z baza danych, aby na tej podstawie wygenerowal sie kod w
> okreslonym jezyku korzystajac z okreslonych bibliotek danego jezyka np.
> Swing w Javie ?
Tak na oko, do szybkiego wyklikiwania aplikacji to chyba nie tyle
UML+CASE ale środowiska z kręgu 'przemysłowego' do baz danych. Jeśli
mają ideę 'repozytorium', pełni opis pól z etykietami (często po kilka
etykiet, do układów formatkowych i tabulogramów itd ) walidacjami itd, z
tego w jednym wierszu programu (lub 'programu') tworzy się formatka
edycyjna. Takie były Progress, Magic, z innej półki Access.
Z innej strony sceny, platformy projektowania formatek z kręgu
frameworków GUI (np. C++) chyba wszystkie są mocno zorientowane na
dopieszczenie GUI, a nie na elegancję analizy w rodzaju UML.
Raczej nie spotkałem się, by generowały (a zwłaszcza czytelny/dający się
poprawiać przez człowieka) kod GUI w języku niskopoziomowym. Pracują na
swojej abstrakcji. Moje doświadczenie zawodowe tu też bardziej takie, ze
bardziej wierzę w ujęcie 'deklaratywne' niż 'koderskie', mimo że
formatki prowadzone metodą 'deklaratywną' zawsze będą ograniczone w
możliwościach (za to wysoce jednolite).
Do swoich projektów klasy gridowo/formatkowej web/desktop mam pewnego
rodzaju framework oparty na filozofii repozytorium danych/pól. Nie jest
zbyt elegancki, ot, praktyka poziomu 'przemysłowego'. Deklaruje się
zestaw pól, cośkolwiek można opisać walidację czy wartości początkowe,
bardzo mało o niuasach zachowania (zdarzeniach, są chyba AŻ 3)
To jest wykonywane obecnie albo SWT na desktopie, albo Wicketem na
webie. Mogą mieć, nie muszą, związek z bazą, ale zwykle mają. Nie będę
go w najbliższym czasie "opensursował".
PS. Jak mówisz Swing, to zobacz Apache Pivot, nie wiem co na to powiesz.
-
3. Data: 2011-11-15 12:49:41
Temat: Re: Narzedzia CASE i generowanie kodu
Od: "William Bonawentura" <n...@i...pl>
> modelowania CASE np. w jezyku UML. Podobno mozna w nich tak zaprojektowac
> aplikacje aby na podstawie projektu wygenerowac kod takiej aplikacji np. w
> jezyku Java.
IMHO wizjonerzy UML kończą na synchronizacji modelu klas z interfejsami,
ewentualnie nagłówkami klas. Następnie używają eufemistycznych zwrotów typu
"rolą programisty jest wypełnienie gotowego szkieletu".
-
4. Data: 2011-11-15 14:10:10
Temat: Re: Narzedzia CASE i generowanie kodu
Od: A.L. <l...@a...com>
On Tue, 15 Nov 2011 13:15:43 +0100, "MK" <s...@p...onet.pl> wrote:
>Witam grupowiczow
>
>Chcialem sie zapytac jako nowicjusz o mozliwosci obecnych darmowych narzedzi
>modelowania CASE np. w jezyku UML. Podobno mozna w nich tak zaprojektowac
>aplikacje aby na podstawie projektu wygenerowac kod takiej aplikacji
Podobno. Od 15 lat ciagle "podobno". I Ostatecznie rozwiazanie Juz Za
Progiem...
A.L.
-
5. Data: 2011-11-15 14:18:43
Temat: Re: Narzedzia CASE i generowanie kodu
Od: Jacek Czerwinski <...@...z.pl>
W dniu 2011-11-15 15:10, A.L. pisze:
> On Tue, 15 Nov 2011 13:15:43 +0100, "MK"<s...@p...onet.pl> wrote:
>
>> Witam grupowiczow
>>
>> Chcialem sie zapytac jako nowicjusz o mozliwosci obecnych darmowych narzedzi
>> modelowania CASE np. w jezyku UML. Podobno mozna w nich tak zaprojektowac
>> aplikacje aby na podstawie projektu wygenerowac kod takiej aplikacji
>
> Podobno. Od 15 lat ciagle "podobno". I Ostatecznie rozwiazanie Juz Za
> Progiem...
>
Gdzie się dostrzega - jak już cytujesz ksiazki - źródło niewykonalności?
jest to
a) matematycznie niewykonalne
b) nikt nie ma w tym interesu (jak nie wiadomo o co chodzi ...)
c) ...
-
6. Data: 2011-11-15 15:58:26
Temat: Re: Narzedzia CASE i generowanie kodu
Od: A.L. <l...@a...com>
On Tue, 15 Nov 2011 15:18:43 +0100, Jacek Czerwinski <...@...z.pl> wrote:
>W dniu 2011-11-15 15:10, A.L. pisze:
>> On Tue, 15 Nov 2011 13:15:43 +0100, "MK"<s...@p...onet.pl> wrote:
>>
>>> Witam grupowiczow
>>>
>>> Chcialem sie zapytac jako nowicjusz o mozliwosci obecnych darmowych narzedzi
>>> modelowania CASE np. w jezyku UML. Podobno mozna w nich tak zaprojektowac
>>> aplikacje aby na podstawie projektu wygenerowac kod takiej aplikacji
>>
>> Podobno. Od 15 lat ciagle "podobno". I Ostatecznie rozwiazanie Juz Za
>> Progiem...
>>
>
>Gdzie się dostrzega - jak już cytujesz ksiazki - źródło niewykonalności?
>jest to
>a) matematycznie niewykonalne
>b) nikt nie ma w tym interesu (jak nie wiadomo o co chodzi ...)
>c) ...
Prosze bardzo. Ksiazki:
Executable UML: A Foundation for Model Driven Architecture, Mellor,
Balcer
MDA Explainded: The Model Driven Architecture - Parctice and Promise,
Kleppe, Warmer, Bast
Model Driven Architecture with Executable UML, Raistrick i inni
Pewnei mam na polce wiecej, ale nei chce mi sie szukac. Pogogluj na
Anneke Kleppe.
Generalnie, szukac pod Model Driven Architecture i Executable UML
Problem polega na tym ze UML nie jest zadnym "jezykiem" a
pol-standardem do rysowania obrazkow ilustrujacych tekst pisany w
nieformalnym jezyku naturalnym. Wiec jest zbyt malo precyzyjny i
sformalizowany any dalo sie UML uzyc do 100 procentowo precyzyjnego
opisu aplikacji.
Owszem, byloby dobrze aby narzedzia do generacji kodu istnialy, ale
musialyby byc oparte na scislych metodach formalnych a nei na
rozgadanym belkocie. Jezyk Z byl kiedys uwazany za taka propozycje,
ale jest on nie do przeskoczenia dla "specjalistow komputerowych"
majacych klopoty z matematyka w zakresie ulamkow i czterech dzialan
A.L.
-
7. Data: 2011-11-15 16:01:50
Temat: Re: Narzedzia CASE i generowanie kodu
Od: Maciej Sobczak <s...@g...com>
On Nov 15, 3:18 pm, Jacek Czerwinski <x...@...z.pl> wrote:
> Gdzie się dostrzega - jak już cytujesz ksiazki - źródło niewykonalności?
> jest to
> a) matematycznie niewykonalne
> b) nikt nie ma w tym interesu (jak nie wiadomo o co chodzi ...)
> c) ...
Masz kluczowy zwrot "wygenerować kod aplikacji".
Problem w tym, że aplikacja zwykle coś robi i trzeba to jakoś
wyspecyfikować - tzn. opisać, co ona robi, żeby było *dokładnie*
wiadomo, co wygenerować.
Istnieją świetnie działające narzędzia do tego i nazywa się je
językami programowania. Służą one właśnie do wyspecyfikowania tego, co
ma aplikacja robić.
Nie da się ominąć szczegółów. Osiągnięcie tego samego poziomu
szczegółowości oznacza, że zamiast jednego języka programowania masz
inny język programowania. Można tak zrobić, ale po co?
Na pewno nie ma czegoś takiego, że w obrazku z N szczegółami zawiera
się opis aplikacji, której pełne działanie opisuje się M szczegółami,
gdzie N << M.
Dlatego UML nie działa jako generator aplikacji.
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
-
8. Data: 2011-11-15 16:18:40
Temat: Re: Narzedzia CASE i generowanie kodu
Od: A.L. <l...@a...com>
On Tue, 15 Nov 2011 08:01:50 -0800 (PST), Maciej Sobczak
<s...@g...com> wrote:
>On Nov 15, 3:18 pm, Jacek Czerwinski <x...@...z.pl> wrote:
>
>> Gdzie się dostrzega - jak już cytujesz ksiazki - źródło niewykonalności?
>> jest to
>> a) matematycznie niewykonalne
>> b) nikt nie ma w tym interesu (jak nie wiadomo o co chodzi ...)
>> c) ...
>
>Masz kluczowy zwrot "wygenerować kod aplikacji".
>Problem w tym, że aplikacja zwykle coś robi i trzeba to jakoś
>wyspecyfikować - tzn. opisać, co ona robi, żeby było *dokładnie*
>wiadomo, co wygenerować.
>
>Istnieją świetnie działające narzędzia do tego i nazywa się je
>językami programowania.
Tylko ze w wielu wypadkach nei sa one "swietne". Wrecz przciwnie, sa
do niczego. Wymagaja opisu nie tylko CO aplikacja ma robic, ale i JAK,
i to z najdrobniejszymi szczegolami owego JAK. Wysilki ida w kierunku
posiadania narzeczi opisujacych CO. Tylko i wylacznie. JAK powinno byc
zautomatyzowane
A.L.
-
9. Data: 2011-11-16 08:47:58
Temat: Re: Narzedzia CASE i generowanie kodu
Od: Paweł Kierski <n...@p...net>
W dniu 2011-11-15 17:18, A.L. pisze:
> On Tue, 15 Nov 2011 08:01:50 -0800 (PST), Maciej Sobczak
> <s...@g...com> wrote:
>
>> On Nov 15, 3:18 pm, Jacek Czerwinski<x...@...z.pl> wrote:
>>
>>> Gdzie się dostrzega - jak już cytujesz ksiazki - źródło niewykonalności?
>>> jest to
>>> a) matematycznie niewykonalne
>>> b) nikt nie ma w tym interesu (jak nie wiadomo o co chodzi ...)
>>> c) ...
>>
>> Masz kluczowy zwrot "wygenerować kod aplikacji".
>> Problem w tym, że aplikacja zwykle coś robi i trzeba to jakoś
>> wyspecyfikować - tzn. opisać, co ona robi, żeby było *dokładnie*
>> wiadomo, co wygenerować.
>>
>> Istnieją świetnie działające narzędzia do tego i nazywa się je
>> językami programowania.
>
> Tylko ze w wielu wypadkach nei sa one "swietne". Wrecz przciwnie, sa
> do niczego. Wymagaja opisu nie tylko CO aplikacja ma robic, ale i JAK,
> i to z najdrobniejszymi szczegolami owego JAK. Wysilki ida w kierunku
> posiadania narzeczi opisujacych CO. Tylko i wylacznie. JAK powinno byc
> zautomatyzowane
Świetnym przypadkiem takiego podejścia jest "język" HQ9+ 8-)
http://esoteric.voxelperfect.net/wiki/HQ9
Wszystko fajnie, tylko stawianie granicy między CO i JAK wymaga
ustalenia pewnych podstawowych reguł (i wbudowania je
w język/biblioteki), które mówią JAK. W tak zdefiniowanym języku będzie
wystarczyło powiedzieć CO. Ale to oddzielne dla każdej dziedziny, co
gorsza szybko okazuje się, że dostępne klocki nie pozwalają na
zbudowanie CO[N+1], choć pozwalały na CO[0]..CO[N]. No i taki HQ9+
trzeba rozszerzyć do HQ9+B http://esoteric.voxelperfect.net/wiki/HQ9_B
Nie da się zbudować języka programowania, w którym wszystkie możliwe CO
będzie można opisać bez wchodzenia w szczegóły JAK.
--
Paweł Kierski
n...@p...net
-
10. Data: 2011-11-16 08:49:46
Temat: Re: Narzedzia CASE i generowanie kodu
Od: Maciej Sobczak <s...@g...com>
On Nov 15, 5:18 pm, A.L. <l...@a...com> wrote:
> >Istnieją świetnie działające narzędzia do tego i nazywa się je
> >językami programowania.
>
> Tylko ze w wielu wypadkach nei sa one "swietne". Wrecz przciwnie, sa
> do niczego. Wymagaja opisu nie tylko CO aplikacja ma robic, ale i JAK,
> i to z najdrobniejszymi szczegolami owego JAK.
Zgadza się. One specyfikują co ma być zrobione przez wskazanie
przepisu na zrobienie tego czegoś. Potrafisz np. zrobić "placek babci
Ali"?
Nie da się pominąć szczegółów, można je co najwyżej zdelegować (ilość
informacji i tak musi być zachowana).
> Wysilki ida w kierunku
> posiadania narzeczi opisujacych CO. Tylko i wylacznie.
Chodzi o to, że zamiast pisać ręcznie kod sortujący mogę napisać
"sort"?
Robię tak w różnych językach programowania.
Niektórzy sądzą, że rewolucją jest napisanie "order by". Otóż nie
jest, bo nadal trzeba było podjąć decyzję o posortowaniu czegoś a od
tej decyzji dalej jest tylko pikuś.
> JAK powinno byc
> zautomatyzowane
Któro "jak" powinno być zautomatyzowane?
Np. ja "automatyzuję" wybór metody sortowania gdy piszę "sort".
Można co najwyżej próbować szukać lepszych składni do niektórych
specjalistycznych problemów, ale nadal problemem jest zachowanie
informacji o szczegółach. Im mniej szczegółów można podać w jakimś
narzędziu, tym mniej uniwersalne jest dane narzędzie a przez to trzeba
się posługiwać odpowiednio większą liczbą takich narzędzi, co prowadzi
do powstania nowego problemu: któro narzędzie użyć? Ostatecznie
wychodzi na to, że i tak musimy podjąć tyle samo decyzji. Nie ma w tym
nic dziwnego (zachowanie informacji jest takim samym prawem natury jak
np. zachowanie pędu), ale też nie ma się czym podniecać gdy ktoś
twierdzi, że coś się robi automatycznie.
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com