Visual CASE je alat koji u sprezi sa Visual C++-om i MFC/ATL bibliotekama omogućava da se do krajnjeg proizvoda dođe na novi način, koji karakteriše upotreba miša umesto tastature. | |
Aleksandar Petrović |
Kreiranje klasa podseća na rad u programima za crtanje |
Stingray Software je veliko ime u svetu programiranja. Do sada se je proizvodila samo biblioteke za C++ i Javu, a sada je pred nama CASE alat koji kao izlaz daje C++/MFC kod. C++ tržište je dugo odolevalo CASE alatima - kao da se smatralo da programer koji se odluči za C++ razvojnu platformu, želi da zadrži kontrolu nad svakim aspektom razvoja programa (što je uglavnom tačno) i da mu ne treba bilo kakva pogodnost ili olakšanje koji se nude u drugim razvojnim alatima (što uglavnom nije tačno).
|
Miš umesto tastature
Stingray je pre nekoliko meseci kupio firmu Rogue Wave, još jednog proizvođača objektnih biblioteka, a rezultat tog spajanja je i Visual CASE, primer onoga što se može učiniti Stingray ekstenzijama MFC-a. Duh Objective Toolkit-a, biblioteke zadužene za proširenje korisničkog interfejsa je stalno prisutan, a verovatno su u izradi korišćene usluge i drugih biblioteka ovog proizvođača, recimo Objective Diagram-a i Objective Edit-a.
|
Predefinisani dijagrami
Osnovna namena Visual CASE-a je rad na projektu "od nule". Kako se složeniji program ne može zamisliti bez dodatnih biblioteka ili sprege sa operativnim sistemom, Visual CASE obezbeđuje set dijagrama koji pokrivaju kompletnu MFC biblioteku, ATL (Stingray tvrdi da je Visual CASE prvi CASE alat koji podržava ATL) i pravljenje COM objekata. Kupci Objective Grid-a i Objective Toolkit-a će u Visual CASE-u naći podršku za rad sa ovim bibliotekama.
|
Početak rada
Radni prostor Visual CASE-a je podeljen na dva dela: veći prozor sadrži jedan ili više dijagrama klasa ili modula, dok se hijerarhijski prikaz sa leve strane zove Project Control Centar; pored sadržaja koji se može videti i u desnom prozoru, on sadrži prikaz bibilotečkih klasa koje se mogu uključiti u projekat, prikaze modula i dijagrama klasa uključenih u projekat itd.
|
Kao crtanje
Kreiranje klasa podseća na rad u programima za crtanje: sa toolbar-a se odabere tip klase koju treba kreirati (najčešće je to obična (Simple), ali može biti i, recimo, šablonizovana), klikne se na prazan deo željenog "lista" sa dijagramima i Visual CASE kreira novi dijagram klase sa podrazumevanim imenom. Dijagram je pravougaonik podeljen na tri vertikalna dela, od kojih je najviši deo rezervisan za ime klase, dok ostala dva dela sadrže članice i metode klase.
|
Klase i njihovi odnosi
List C++ Code Generation omogućava deklariranje makroa i funkcija potrebnih za interni rad MFC-a (DECLARE_DYNCREATE, serijalizacija, etc). Na ovom može da se zatraži i kreiranje uobičajenih funkcija: "operator =", kopi konstruktor i slično. Kako klase obično nisu "pusta ostrva" u programu, treba definisati i njihove interakcije, koje se takođe biraju klikom na odgovarajuću strelicu toolbar-a. Posle izbora strelice, treba mišem spojiti dve klase za koje se definiše odnos.
|
Mapiranje klasa
Da biste mapirali klase u fajlove, treba da napravite jedan ili više "listova" koji će sadržai simbole fajlova. U njih ubacujete dijagrame koji predstavljaju fajlove, a postoji tri tipa dijagrama: "h", za zaglavlja, "C++" za implementaciju klase, te "&" koji može sadržavati i zaglavlje i implementaciju. Pri postavljanju dijagrama na list definiše se i ime fajla koji predstavlja, a mapiranje između fajlova se vrši prevlačenjem sa levog na desni panel.
|
Pro et contra
Ocenjivati C++ CASE alat nije nimalo zahvalno, pošto se radi o pristupu programiranju koji je relativno nepoznat - ako programer ne želi da se prilagodi ovakvom okruženju i traži od njega da se ponaša kao konvencionalni alat na kome je radio, možda je bolje da se i ne upušta u avanturu sa Visual CASE-om. Ipak, alatu se može uputiti i nekoliko principijelnih zamerki.
|