Article View: pl.comp.objects
Article #15793Re: Wykorzystanie OCL-a w produkcji oprogramowania / walidacja
From: Dariusz Cieslak
Date: Tue, 20 Mar 2007 22:11
Date: Tue, 20 Mar 2007 22:11
50 lines
3416 bytes
3416 bytes
On 2007-03-20, Peri <email@server.net> wrote: > > To są rzeczy niezależne od siebie. Refaktoryzację przeprowadza się w > > istniejącym kodzie, specyfikacja jest dla kodu, który dopiero > > powstanie. > > Ok. To oczywiste. Czyli co z takim OCL'em dalej robimy? Programiści mają > pisać "pod niego"? A jak podczas implementacji okaże się że specyfikacja > jest niedobra (inne nazwy metod, inne klasy - pewnie tak jest w 90% > przypadków) to trzeba wracać do tego OCL'a i poprawiać, aby był zgodny z > kodem? W mojej firmie OCL jest tworzony wraz z rozwojem systemu dla poszczególnych zadań. W pliku specyfikacji zawieram opis fragmentu istniejącego systemu ważnego dla tworzonej funkcjonalności (np. trzy tabele z niektórymi atrybutami i kluczowe klasy) wraz z projektem nowych struktur / metod. OCL po implementacji jest "wyrzucany". Dzięki temu osoba pracująca na danycm use casem ma nieduży fragment systemu do poznania za każdym razem (nie musi obejmować całości). To jest typowy proces przyrostowy. Nie ma jednego głównego projektu OCL, wygodniej jest nam się posługiwać UML/OCL jako szkicownikiem na wysokim poziomie abstrakcji. > > Nie, to jest metoda na naszkicowanie funkcjonalności. Można opisać > > decyzje projektowe i założenia systemu w bardzo kompaktowy sposób > > nieosiągalny dla zwykłego zapisu np. w Javie czy SQL-u. Dzięki > > temu specyfikacje są zwięzłe. > > Zastanawiam się tylko co z tym się dalej robi w trakcie tworzenia > aplikacji. Zgadzam się, że to może kompaktowe, ale co gdy kod, który > powstanie, wygląda inaczej niż początkowa specyfikacja? Skaczemy > cały czas między kodem, a OCL'em, aby były zgodne i ten OCL mógł > cokolwiek zwalidować? Aktualnie OCL nie jest używany przez nas bezpośrednio do automatycznej walidacji tworzonej funkcjonalności. Istnieją jednak metody, które pozwalają sprawdzać poprawność działania systemu w trakcie wykonania względem OCL-a, ale jakość takiego sprawdzenia zależy od jakości pokrycia kodu testami: http://www.db.informatik.uni-bremen.de/publications/Richters_2003_UMLWS_AOD.ps Ponieważ nie walidujemy OCL-a względem kodu (jak nadmieniłem powyżej) cząstkowe specyfikacje poszczególnych przyrostów idą na "śmietnik" po utworzeniu zadanej funkcjonalności. -- Dariusz Cieslak http://aplikacja.info - systemy informatyczne na zamówienie
Technical Details
Message-ID:
<tp26d4-7k6.ln1@dclaptop.mynetwork.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!newsReferences:
<ssp2b4-r64.ln1@dclaptop.mynetwork.com> <op.to9zosxem2t6na@at-piotrpe.atena.pl> <bpn2d4-ce3.ln1@dclaptop.mynetwork.com> <op.tphb1xx0m2t6na@at-piotrpe.atena.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!news From: Dariusz Cieslak <cieslakd@xyz.invalid> Newsgroups: pl.comp.objects Subject: Re: Wykorzystanie OCL-a w produkcji oprogramowania / walidacja Date: Tue, 20 Mar 2007 23:11:41 +0100 Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 50 Message-ID: <tp26d4-7k6.ln1@dclaptop.mynetwork.com> References: <ssp2b4-r64.ln1@dclaptop.mynetwork.com> <op.to9zosxem2t6na@at-piotrpe.atena.pl> <bpn2d4-ce3.ln1@dclaptop.mynetwork.com> <op.tphb1xx0m2t6na@at-piotrpe.atena.pl> Reply-To: cieslakd@xyz.invalid NNTP-Posting-Host: 101.172-247-81.adsl-dyn.isp.belgacom.be Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1174428902 8553 81.247.172.101 (20 Mar 2007 22:15:02 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Tue, 20 Mar 2007 22:15:02 +0000 (UTC) X-User: cieslakd User-Agent: slrn/0.9.8.1pl1 (Debian) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit