Moderni alati za razvoj aplikacija
Trenutačno sa svakim programskim sustavom nisu povezani zasebni alati (na primjer, kompajler), već neki logički povezani skup softverskih i hardverskih alata koji podržavaju razvoj i održavanje PS-a u određenom programskom jeziku ili su usmjereni na bilo koje specifično predmetno područje . Takvu zbirku nazvat ćemo okruženje alata za razvoj i održavanje PS-a. Takva okruženja alata karakteriziraju, prvo, korištenje i softverskih i hardverskih alata, i, drugo, određena orijentacija bilo na određeni programski jezik ili na određeno predmetno područje.
Okruženje alata ne mora funkcionirati na računalu na kojem će se koristiti PS razvijen uz njegovu pomoć. Često je takva kombinacija prilično prikladna (ako to dopušta samo snaga korištenog računala): nema potrebe baviti se računalima različitih tipova, komponente samog okruženja alata mogu se uključiti u razvijeni PS. Međutim, ako računalo na kojem će se koristiti PS nije dostupno programerima ovog PS-a (na primjer, stalno je zauzeto drugim poslom koji se ne može prekinuti ili je još u razvoju), ili je nezgodno za razvoju PS-a, ili je snaga ovog računala nedovoljna da osigura funkcioniranje potrebnog instrumentalnog okruženja, tada se tzv. instrumentalno-objektni pristup. Njegova bit leži u činjenici da je PS razvijen na jednom računalu, tzv instrumental, te će se primijeniti na drugom računalu, tzv cilj(ili cilj).
Postoje tri glavne klase okruženja za razvoj alata i održavanje PS-a (Sl. 16.1):
programska okruženja,
poslovi računalne tehnologije,
instrumentalni sustavi tehnologije programiranja.
Programsko okruženje namijenjen je uglavnom podršci procesima programiranja (kodiranja), testiranja i otklanjanja pogrešaka PS-a. Radno mjesto računalne tehnologije usmjeren na podršku ranim fazama razvoja PS (specifikacija) i automatsko generiranje programa prema specifikacijama. Sustav alata za tehnologiju programiranja dizajniran je za podršku svim procesima razvoja i održavanja tijekom životnog ciklusa softvera i usmjeren je na zajednički razvoj velikih softverskih sustava s dugim životnim ciklusom. Za takve sustave troškovi održavanja obično premašuju troškove razvoja.
Riža. 16.1. Glavne klase okruženja alata za razvoj i održavanje PS-a.
Okruženja za programiranje alata.
Okruženja alata za programiranje sadrže, prije svega, uređivač teksta koji vam omogućuje da dizajnirate programe u zadanom programskom jeziku, alate koji vam omogućuju prevođenje ili tumačenje programa u tom jeziku, kao i testiranje i debugiranje rezultirajućih programa. Osim toga, mogu postojati i drugi alati, na primjer, za statičku ili dinamičku analizu programa. Ovi alati međusobno komuniciraju putem običnih datoteka koristeći standardne mogućnosti datotečnog sustava.
Postoje sljedeće klase programskih okruženja (vidi sl. 14.2):
okruženja opće namjene,
jezično orijentirana okruženja.
Programska okruženja Opća namjena sadrže skup softverskih alata koji podržavaju razvoj programa na različiti jezici programiranje (na primjer, uređivač teksta, povezivač ili tumač za jezik ciljanog računala) i obično predstavljaju neko proširenje mogućnosti operativnog sustava koji se koristi. Za programiranje u takvom okruženju na bilo kojem programskom jeziku trebat će vam dodatni alati koji su orijentirani na ovaj jezik (na primjer, kompajler).
Sl.16.2. Klasifikacija okruženja programskih alata.
Orijentiran na jezik okruženje alata za programiranje dizajnirano je za podršku razvoju softverskog sustava u bilo kojem programskom jeziku, a znanje o tom jeziku značajno je korišteno u izgradnji takvog okruženja. Kao rezultat toga, prilično moćne značajke koje uzimaju u obzir specifičnosti ovog jezika mogu biti dostupne u takvom okruženju. Takva okruženja su podijeljena u dvije podklase:
interpretativna okruženja,
sintaktički vođena okruženja.
interpretativni okruženje alata za programiranje omogućuje interpretaciju programa u određenom programskom jeziku, tj. sadrži prvenstveno interpreter programskog jezika na koji je ovo okruženje orijentirano. Takvo okruženje je neophodno za programske jezike interpretativnog tipa (kao što je Lisp), ali se može koristiti za druge jezike (kao što je na instrumentalnom računalu). Sintaktički vođen okruženje programskog alata temelji se na poznavanju sintakse programskog jezika na koji je orijentiran. U takvom okruženju, umjesto uređivača teksta koristi se sintaktički vođen uređivač, koji korisniku omogućuje korištenje različitih uzoraka sintaktičkih konstrukcija (kao rezultat toga, program koji se razvija uvijek će biti sintaktički ispravan). Istodobno s programom takav uređivač oblikuje (u memoriji računala) svoje sintaktičko stablo, koje mogu koristiti i drugi alati.
Aleksej Fedorov, Natalija Elmanova
Prethodni članak ove serije bio je posvećen razmatranju logičkog i fizičkog dizajna podataka i alata koji se koriste u tom procesu. Uvjereni smo da podatkovni inženjering igra ključnu ulogu u razvoju informacijskih sustava, jer kvaliteta tog posla određuje troškove izrade aplikacija za krajnje korisnike, kao i naknadno održavanje i modernizaciju izrađenog proizvoda. Rezultat ovog koraka je "prazna" baza podataka (tj. baza podataka čije tablice uglavnom ne sadrže zapise, uz mogući izuzetak tablica referentne prirode kao što je popis predmeta Ruska Federacija ili telefonski pozivni brojevi).
Sljedeća razina životni ciklus informacijski sustav - razvoj klijentskih aplikacija. Rezultat ove faze je gotov proizvod koji se sastoji od niza aplikacija koje korisnicima omogućuju unos podataka u tablice ili uređivanje postojećih podataka, analizu unesenih podataka i njihovo predstavljanje u čitljivijem obliku - grafikoni, zaokretne tablice ili izvješća (uključujući "papirnati dokumenti).
Proces dizajniranja podataka za relacijski DBMS je u određenoj mjeri logičan proces i podliježe jednoj standardnoj metodologiji. To uzrokuje nizak stupanj ovisnosti slijeda radnji koje se izvode tijekom dizajna tih radnji o tome koji se određeni alat za dizajn podataka koristi i o tome koristi li se uopće. Zapravo, zbog toga su alati za dizajn podataka više-manje slični u svom sučelju, koje u biti odražava proces crtanja modela podataka na papiru.
Proces kreiranja klijentskih aplikacija koje rade s bazama podataka prilično je teško opisati u obliku takvog univerzalnog slijeda radnji, budući da logika pojedine aplikacije gotovo u potpunosti ovisi o logici poslovnog procesa koji se modelira. Alati za razvoj aplikacija kao kategorija softverskih proizvoda postoje puno dulje od alata za dizajn podataka, a i raznovrsniji su - od kompajlera koji se pokreće iz naredbenog retka do alata gdje se gotova aplikacija sastavlja "mišom" od gotovih komponenti, a kod se automatski generira. S takvom raznolikošću razvojnih alata, trebali bi ih na neki način klasificirati, što ćemo pokušati učiniti u ovom članku, govoreći usput koji su od njih prikladni za korištenje u određenom slučaju.
Klasifikacija alata za razvoj aplikacija
Razvojni alati mogu se klasificirati s različitih pozicija, na primjer, na temelju programskog jezika koji podržavaju, ili performansi kreiranih aplikacija na određenoj platformi, ili prisutnosti određenih biblioteka i vizualnih alata u njima. Pokušat ćemo klasificirati alate za razvoj aplikacija, na temelju pogodnosti njihove upotrebe za stvaranje proizvoda koji su korisničko sučelje za bazu podataka.
Gotovo svaki razvojni alat koji tvrdi da je univerzalan može se napraviti za rad s bilo kojom bazom podataka - dovoljno je podržati korištenje biblioteka trećih strana u ovom razvojnom alatu i ova baza podataka ima skup klijentskih sučelja (API) za platformu na koje bi stvorene aplikacije trebale raditi. Međutim, nije svaki par proizvoda "razvojni alat plus DBMS" privlačan u smislu troškova rada povezanih sa stvaranjem takvih aplikacija. Možete napisati cjelovitu aplikaciju koja poziva API funkcije klijenta i implementira prikladno korisničko sučelje koristeći C kompajler i jednostavnu grafičku biblioteku (na primjer, koja vam omogućuje promjenu boje piksela na ekranu) za operativni sustav na kojem je ovaj aplikacija će se pokrenuti. Ali troškovi povezani s implementacijom takvog projekta mogu biti potpuno neopravdani, jer će u ovom slučaju programeri morati implementirati funkcije koje su već sadržane u bibliotekama klasa i komponente razvojnih alata koji su dublje usmjereni na stvaranje aplikacija baze podataka ili uključuju podršku za izradu takvih aplikacija.
Razvojni alati usmjereni na specifične DBMS
Prije deset ili dvadeset godina, u mnogim aplikacijama koje koriste baze podataka, klijentske API funkcije pozivale su se iz koda napisanog u nekom od programskih jezika, najčešće u C-u. Pogledajte samo opis API-ja klijentskog dijela gotovo bilo kojeg poslužiteljskog DBMS-a - i naći ćete mnogo primjera najtipičnijih fragmenata koda, na primjer, za registraciju korisnika, izvršavanje upita itd. Međutim, brzo je postalo jasno programerima DBMS-a da se troškovi rada povezani s pisanjem takvog koda mogu značajno smanjiti prikupljanjem najtipičnijih fragmenata koda i najčešćih elemenata korisničkog sučelja (čak i za alfanumeričke terminale) u biblioteke, raspoređujući te biblioteke na sljedeći način. zasebnog proizvoda i dodajući mu razvojno okruženje i korisničke alate za dizajn obrazaca za pregled i uređivanje podataka, kao i izvješća. Tako su se pojavili prvi razvojni alati specifični za DBMS, kao što je Oracle * Forms (prethodnik trenutnog Oracle Forms Developer).
Proizvodi ove klase i danas su dostupni na tržištu razvojnih alata. Gotovo svi dobavljači baze podataka poslužitelja također proizvode alate za razvoj aplikacija. U velikoj većini slučajeva moderne verzije ovih razvojnih alata podržavaju pristup DBMS-u drugih proizvođača koristeći barem jedan od univerzalnih mehanizama pristupa podacima (ODBC, OLE DB, BDE). Međutim, pristup "vlastitom" DBMS-u obično se provodi na najučinkovitiji način, to jest korištenjem klijentskih API-ja, objekata sadržanih u bibliotekama klijentskog dijela poslužiteljskih DBMS-ova, posebnih klasa za pristup podacima ovog DBMS-a ili putem implementacija upravljačkih programa za univerzalne mehanizme pristupa podacima koji mogu uzeti u obzir specifične značajke ovog DBMS-a.
NA zasebna kategorija mogu se razlikovati desktop DBMS razvojna okruženja. U članku iz ove serije posvećenom DBMS-u za stolna računala već smo primijetili da je velika većina DBMS-a za stolna računala koja su preživjela do danas, kao što su Microsoft Visual FoxPro, Microsoft Access, Corel Paradox, Visual dBase, podržavaju pristup DBMS-u poslužitelja, barem uz pomoć univerzalnih mehanizama pristupa podacima, što im omogućuje konvencionalno svrstavanje u razvojne alate. Imajte na umu, međutim, da je trenutno stvaranje aplikacija u arhitekturi "klijent-poslužitelj" uz njihovu pomoć rijedak fenomen. Izuzetak su možda parovi Microsoft Access - MSDE, Microsoft Access - Microsoft SQL Server i Microsoft Visual FoxPro - Microsoft SQL Server. Ovo je rezultat kompetentne politike Microsofta, koja teži maksimalnoj kompatibilnosti svojih proizvoda i pruža korisnicima najbezbolniju zamjenu svog desktop DBMS-a s vlastitim poslužiteljima baze podataka (Access->MSDE->Microsoft SQL Server, FoxPro->Visual FoxPro->Microsoft SQL Server).
Razvojni alati koji su univerzalni u odnosu na DBMS
Razvojni alati koji su univerzalni u odnosu na DBMS (ili koji tvrde da imaju sličnu univerzalnost) u pravilu su sljedbenici konvencionalnih alata za razvoj aplikacija koji nisu izravno vezani uz baze podataka. Tipični primjeri takvih razvojnih alata su Borland Pascal, Borland C++, Microsoft QuickC. Mogućnosti korištenja biblioteka trećih strana, ovi su alati omogućili pristup funkcijama klijentskih API-ja, a razvojem univerzalnih mehanizama pristupa podacima (kao što je ODBC) i API funkcijama biblioteka koje implementiraju takve mehanizme. Imajte na umu da su se ovi razvojni alati često koristili za stvaranje desktop DBMS okruženja (kao što su dBase, FoxBase) ili pseudo-kompilatori za jezike obitelji xBase (na primjer, Clipper).
Kasnije verzije gore spomenutih razvojnih alata dobile su biblioteke funkcija i klasa dizajniranih za pristup podacima pomoću određenih univerzalnih mehanizama. Daljnji razvoj razvojnih alata doveo je do pojave dvije kategorije proizvoda za ovu namjenu.
Prva kategorija uključuje razvojne alate koji imaju opsežne biblioteke klasa, veliki broj "čarobnjaka" i generatora koda, ali su usmjereni na "ručno" stvaranje koda i rijetko se koriste za stvaranje "standardnih" aplikacija baze podataka (ovdje pod izrazom "standardni" aplikacija "mislimo na aplikaciju koja ima izravan pristup bazi podataka s kojom korisnik komunicira, odnosno radi se o "klasičnom" klijentu poslužiteljskog DBMS-a). Tipičan (i jedini stvarno popularan na softverskom tržištu) predstavnik ove klase proizvoda je Microsoft Visual C++. Uz pomoć Microsoft Visual C++ i MFC (Microsoft Foundation Classes) biblioteke možete izraditi bilo koju aplikaciju ako imate vještinu, znanje, vještinu i vrijeme. Ipak, aplikacije sa složenim korisničkim sučeljem (na primjer, one koje koriste baze podataka) nisu često razvijene uz njegovu pomoć (iako se primjeri njegove uporabe mogu pronaći čak iu ruskoj literaturi). U osnovi, ovaj se proizvod koristi za izradu klijentskih aplikacija u slučaju da im se postavljaju posebni zahtjevi, kao što su visoka izvedba, mogućnost izvođenja bilo kakvih nestandardnih operacija itd.
Druga kategorija uključuje razvojne alate s naprednim vizualnim alatima koji vam omogućuju doslovno "iscrtavanje" korisničkog sučelja, djelomično brišući razlike između rada programera i korisnika te smanjujući troškove konačnog proizvoda privlačenjem programera koji nisu najvišu kvalifikaciju za dizajn sučelja (ako pažljivo proučite programe tečajeva centara za obuku koji su specijalizirani za podučavanje Microsoft, Borland i Sybase razvojnih alata, možda ćete otkriti da je trajanje tečaja, nakon slušanja kojeg tipičnog Windowsa korisnik mora naučiti kako kreirati klijentske aplikacije za poslužiteljski DBMS, je od 5 do 10 radnih dana).
Upravo se ova kategorija razvojnih alata najčešće koristi pri izradi klijentskih aplikacija. Najpopularniji proizvodi ove klase uključuju Microsoft Visual Basic, Borland Delphi , Sybase PowerBuilder i Borland C++Builder. Razvojna okruženja za takve proizvode vrlo su slična po izgledu (sve do položaja prozora na zaslonu, koji je postavljen "prema zadanim postavkama"): u pravilu, razvojno okruženje za takav proizvod sadrži "prazninu" dizajniranog obrazac (analogno prozoru), zasebna ploča s ikonama elemenata korisničkog sučelja i drugih objekata koji se koriste u aplikaciji koji se mogu odabrati i postaviti na obrazac, prozor u kojem se prikazuju svojstva jednog od elemenata odabranih na obrascu prikazani i uređivani (a ponekad i popis događaja na koje ovaj element reagira), prozor uređivača koda u koji možete unijeti isječke koda, povezane s obradom određenih događaja, kao i kod koji implementira logiku ove aplikacije. U pravilu, moderni razvojni alati ove klase omogućuju vam stvaranje jednostavnih aplikacija za uređivanje podataka s malo ili bez koda.
Nedavno je također postalo vrlo popularno kreirati aplikacije koje koriste pristup bazi podataka, ali se nalaze unutar običnih dokumenata. Razvojni alati za takve aplikacije temelje se na makro jezicima odgovarajućih urednika. Najtipičniji i praktički jedini popularni predstavnik ove kategorije razvojnih alata je Visual Basic for Applications, koji je sličan gore navedenim vizualnim razvojnim alatima, a razlikuje se od njih po tome što se njime kreirane aplikacije nalaze unutar Microsoft Office dokumenata i ne otuđen od njih.
Imajte na umu, međutim, da je gornja podjela razvojnih alata u ove dvije klase prilično uvjetna. Kao što smo gore rekli, gotovo svi alati za razvoj aplikacija baze podataka, uključujući one usmjerene na specifične DBMS, podržavaju barem jedan od univerzalnih mehanizama pristupa podacima. I gotovo svi "univerzalni" alati za razvoj aplikacija, ako pripadaju proizvođaču bilo kojeg DBMS-a poslužitelja, podržavaju "svoj" DBMS bolje od DBMS-a treće strane (to se može izraziti, na primjer, u posebnim bibliotekama klasa ili komponentama za pristup ovom poslužitelj, a također i u prisutnosti zajedničkih repozitorija objekata i modela podataka, a ponekad i zajedničkih uređivača parametara pristupa podacima ili shemama podataka s klijentskim dijelom poslužiteljskog DBMS-a)
Klasifikacija aplikacija koje koriste baze podataka
Primjene u arhitekturi klijent-poslužitelj
U prethodnim člancima ove serije već smo govorili o tome što čini "klijent-poslužitelj" arhitekturu u tradicionalnom smislu. Stoga ćemo samo ukratko podsjetiti da su informacijski sustavi stvoreni u ovoj arhitekturi poslužitelj baze podataka koji manipulira podacima i klijentska aplikacija koja im pristupa i koristi ili klijentske API-je (ili klase i komponente koje enkapsuliraju svoje pozive), ili one iz univerzalnih podataka pristupni mehanizmi. Tipično, kada se koristi takva aplikacijska arhitektura, poslužitelj baze podataka također je odgovoran za provođenje poslovnih pravila implementiranih u obliku pohranjenih procedura, okidača, ograničenja poslužitelja i drugih objekata baze podataka.
U ovom slučaju za izradu klijentskih aplikacija najčešće se koriste razvojni alati s naprednim vizualnim alatima, kao što su Microsoft Visual Basic, Borland Delphi, Sybase PowerBuilder, Borland C++Builder.
Imajte na umu, međutim, da je izbor modernih aplikacijskih arhitektura trenutno prilično širok i nije ograničen na "klasičnu" arhitekturu klijent-poslužitelj, što podrazumijeva da se aplikacija sastoji od poslužitelja baze podataka i klijentskih aplikacija koje su u interakciji s tim poslužiteljem. Stoga ćemo u nastavku raspravljati o tome koji su razvojni alati prikladni za korištenje pri izradi distribuiranih aplikacija.
Distribuirane aplikacije
Distribuirane (ili višeslojne) aplikacije obično se sastoje od prezentacijskih usluga (ili "tankih" klijenata s kojima krajnji korisnici obično komuniciraju), usluga poslovne logike implementiranih kao poslovni objekti (ili usluga srednje razine; često se za opisivanje zbirke takvih usluga naziva middleware) i podatkovne usluge (obično se sastoje od poslužitelja baze podataka i mehanizama za pristup podacima). Usluge poslovne logike dizajnirane su za primanje korisničkih unosa od prezentacijskih usluga, interakciju s podatkovnim uslugama za izvođenje poslovnih operacija (kao što je obrada naloga ili izračun bilance) i vraćanje rezultata tih operacija prezentacijskim uslugama.
Za razliku od konvencionalnih aplikacija klijent-poslužitelj, u višeslojnim sustavima tanki klijenti obično nemaju izravan pristup podacima. Umjesto toga, klijenti šalju zahtjeve poslovnim objektima posebno dizajniranim za tu svrhu. Oni pak mogu obavljati poslovne operacije na zahtjev klijenta (poput obrade naloga, izvršenja bankovne transakcije i sl.).
Neki od poslovnih objekata mogu pristupiti podatkovnim uslugama pomoću neke vrste mehanizma za pristup podacima. Budući da krajnji korisnik nema izravnu interakciju s poslovnim objektima, potonji obično nemaju korisničko sučelje u uobičajenom smislu. Fizički, poslovni objekti mogu biti implementirani kao usluge operacijskog sustava, konzolne aplikacije ili Windows aplikacije, kao i biblioteke učitane u adresni prostor posebno dizajnirane poslužiteljske aplikacije za tu namjenu (Web poslužitelj, aplikacijski poslužitelj, monitor transakcija itd.). ). Nije neuobičajeno da jedan poslovni subjekt opslužuje mnogo kupaca.
Za izradu poslovnih objekata koriste se i razvojni alati s naprednim vizualnim alatima i razvojni alati usmjereni na "ručnu" izradu aplikacijskog koda (kao što je Visual C++). Imajte na umu da najnovije verzije gotovo svih najpopularnijih alata za razvoj Windows aplikacija (Microsoft Visual Basic, Visual FoxPro i Visual C++, Borland Delphi i C++Builder, Sybase PowerBuilder) podržavaju izradu raznih vrsta poslovnih objekata (web aplikacije, ASP-objekti, COM poslužitelji, itd.), s mogućim izuzetkom Microsoft Accessa - ovaj proizvod je više dizajniran za kvalificirane korisnike nego za programere distribuiranih sustava. Često se u tu svrhu koriste i alati za izradu Java aplikacija (kao što je Borland JBuilder).
Imajte na umu da, osim gore spomenutih "univerzalnih" alata za izradu aplikacija u arhitekturi "klijent-poslužitelj" i poslovnih objekata za distribuirane sustave, na tržištu razvojnih alata postoje i specijalizirani alati dizajnirani posebno za izradu poslovnih objekata ( obično , web aplikacije). Od razvojnih alata ove klase za Windows platformu najpopularniji je Microsoft Visual InterDev, čija se prva verzija pojavila 1998. godine. Također možemo spomenuti još jedan zanimljiv proizvod koji pripada istoj kategoriji razvojnih alata - Borland IntraBuilder, koji se pojavio dvije godine ranije, ali iz nekog razloga, unatoč sve većoj potrebi za proizvodima ove klase, nije dobio daljnji razvoj. Razvojni alati ove klase u pravilu vam omogućuju stvaranje aplikacija koje dinamički generiraju HTML kod ili kod na jednom od skriptnih jezika (VBScript ili JavaScript), koji web poslužitelj prenosi u korisnički preglednik kao dio web stranicu i prihvaćanje podataka koje je korisnik unio u HTML obliku i proslijedio preglednik web poslužitelju.
Zaključak
U ovom smo članku raspravljali o procesu stvaranja aplikacija koje koriste baze podataka, kao io različitim kategorijama alata koji se koriste u njihovom razvoju. Vidjeli smo da se razvojni alati mogu uvjetno podijeliti, s jedne strane, na alate usmjerene na korištenje specifičnih DBMS-a, alate koji su univerzalni u odnosu na DBMS te desktop DBMS okruženja koja se koriste za razvoj aplikacija. S druge strane, mogu se podijeliti na alate usmjerene na dizajn vizualnog korisničkog sučelja (u ovu kategoriju spadaju Microsoft Visual Basic, Borland Delphi, Sybase PowerBuilder, Borland C++Builder) i alate usmjerene na pisanje aplikacijskog koda (Visual C++).
Nakon pregleda nekih od najpopularnijih alata za razvoj aplikacija, otkrili smo da većina tih proizvoda u pravilu podržava:
- najmanje jedan od univerzalnih mehanizama pristupa podacima, koji omogućuje korištenje podataka iz različitih DBMS-ova u aplikacijama koje se kreiraju;
- stvaranje nekoliko vrsta distribuiranih aplikacija;
- automatsko generiranje aplikacijskog koda na temelju modela kreiranih pomoću najpopularnijih alata za dizajn podataka i modeliranje poslovnih procesa.
Također smo razgovarali o tome kako se aplikacije klijent-poslužitelj razlikuju od distribuiranih sustava i koji se razvojni alati mogu koristiti za stvaranje obje vrste aplikacija.
Životni ciklus informacijskog sustava ne završava razvojem aplikacija. Jednom stvoreni, trebali bi biti testirani, implementirani, obučeni za korištenje i konačno iskorištavani nekoliko godina. Kao rezultat takvog iskorištavanja gomilaju se podaci koji su u pravilu mnogo vrjedniji od samih aplikacija. Ti podaci često predstavljaju građu potrebnu za donošenje važnih upravljačkih odluka, stoga je važno znati ih pretvoriti u oblik prikladan za tu svrhu. Za to postoje alati vezani uz kategoriju Business Intelligence - generatori izvješća, alati za analitičku obradu podataka i traženje obrazaca. O njima ćemo govoriti u sljedećem članku ove serije.
Pojava Makefilea može se smatrati prvim korakom u stvaranju programskih sustava. Makefile jezik je postao standardni alat koji je zajednički prevoditeljima svih programera. Bio je to zgodan, ali prilično složen tehnički alat koji je od programera zahtijevao visok stupanj obuke i stručnog znanja, budući da je sam Makefile naredbeni jezik po složenosti bio usporediv s jednostavnim programskim jezikom.
Ova struktura razvojnih alata postoji već dosta dugo, au nekim slučajevima se koristi i danas (osobito pri izradi sistemskih programa). Njegova raširena upotreba bila je posljedica činjenice da je cijela ova struktura razvojnih alata sama po sebi bila vrlo prikladna za skupno izvođenje programa na računalu, što je pridonijelo njegovoj širokoj upotrebi u eri glavnog računala s operativni sustavi tip Unix.
4.5. Integrirana razvojna okruženja
- Visual Studio 97 je prva objavljena verzija Visual Studija. Po prvi put je spojio različite alate za razvoj softvera. Sustav je objavljen u dvije verzije: Professional i Enterprise. Uključivao je Visual Basic 5.0, Visual C++ 5.0, Visual J++ 1.1, Visual FoxPro 5.0 i prvo ASP razvojno okruženje, Visual InterDev. Visual Studio 97 bio je Microsoftov prvi pokušaj stvaranja jedinstvenog razvojnog okruženja za više programskih jezika: Visual C++, Visual J++, Visual InterDev i MSDN koristili su jedno okruženje pod nazivom Developer Studio. Visual Basic i Visual FoxPro koristili su odvojena razvojna okruženja.
- Visual Studio 6.0 objavljen je u lipnju 1998. Ovo Najnovija verzija Visual Studio radi na Win9x platformi. Još uvijek popularan među programerima koji koriste Visual Basic. Ova je verzija bila glavno razvojno okruženje za Microsoftove Windows aplikacije prije pojave .NET platforme.
- Visual Studio .NET (kodno ime Rainier; interna verzija 7.0) objavljen u veljači 2002. (uključuje .NET Framework 1.0). Servisni paket 1 za Visual Studio .NET (2002) objavljen u ožujku 2005
- Visual Studio .NET 2003 (kodno ime Everett; interna verzija 7.1) objavljen je u travnju 2003. (uključuje .NET Framework 1.1). Servisni paket 1 za Visual Studio .NET 2003 objavljen je 13. rujna 2006.
- Visual Studio 2005 (kodnog imena Whidbey; interna verzija 8.0) objavljen je krajem listopada 2005., posljednji koji je službeno radio na Windows 2000 (uključuje .NET Framework 2.0). Početkom studenog 2005. godine izašao je i niz proizvoda u Express izdanju: Visual C++ 2005 Express, Visual Basic 2005 Express, Visual C# 2005 Express itd. 19. travnja 2006. Express izdanje postalo je besplatno. Servisni paket 1 za VS2005 i sva Express izdanja objavljen je 14. prosinca 2006. Dodatna zakrpa za SP1 koja rješava problem kompatibilnosti sa sustavom Windows Vista objavljena je 6. ožujka 2007.
- Visual Studio 2008 (kodno ime Orcas) objavljen je 19. studenog 2007., zajedno s .NET Framework 3.5. Namijenjen je izradi aplikacija za Windows Vista (ali podržava i XP), Office 2007 i web aplikacije. Uključuje LINQ, nove verzije C# i Visual Basic. Studio nije uključivao Visual J#. Od 28. listopada 2008. po prvi put je dostupna verzija na ruskom jeziku.
- Visual Studio 2010 (kodno ime Hawaii, Ultimate Rosario) objavljen je 12. travnja 2010. s .NET Framework 4.0. Visual Studio uključuje podršku za C# 4.0 i Visual Basic .NET 10.0, kao i F#, koji nije bio dostupan u prethodnim verzijama.
Visual Studio 2010 omogućuje vam učinkovitu izradu složenih aplikacija u kratkom vremenu. Model ovog okruženja puno je bogatiji od ranijih verzija i koristi pojmove kao što su rješenje (solution), projekt, imenski prostor (namespace) i sklop (assembly). Koncept projekta prisutan je u mnogim okruženjima, poput Delphija. Projektna datoteka sadrži popis izvornih datoteka i drugih resursa od kojih će sustav izgraditi aplikaciju. Visual Studio rješenje sadrži više projekata, koji mogu biti ovisni ili neovisni jedan o drugome. ističe započeti projekt. Koncept sklopa dolazi iz Common Language Runtime (CLR). Common language runtime (CLR) je najrevolucionarniji izum, s čijom pojavom proces pisanja i pokretanja aplikacija postaje bitno drugačiji.
Kompajler pretvara izvorne datoteke u kodove u posredni jezik MSIL ( Microsoftov srednji jezik). Zajedno s metapodacima, ovi kodovi pišu PE datoteke (Portal Executable) koje imaju ekstenziju .exe ili .dll, ovisno o vrsti projekta. Može se dobiti i modul s ekstenzijom netmodule koja ne sadrži metapodatke.
Postoji ukupno 12 vrsta projekata. Kada se učitaju, PE datoteke se prevode "u hodu" u upute za pravi procesor. Okvir. NET koji pokreće programe nije dio Visual Studija, već je postavka na vrhu operativnog sustava. Analogno je Java virtualnom stroju.
Sklop je minimalna jedinica za postavljanje aplikacija. Svaki tip sklopa karakterizira jedinstveni identifikator, identificiran digitalnim potpisom autora i jedinstvenim brojem verzije. Postoji sljedeći odnos između sklopova i prostora imena. Sklop može sadržavati više imenskih prostora. U isto vrijeme, prostor imena može obuhvaćati više sklopova. Sklop može uključivati jednu ili više datoteka, koje su kombinirane u takozvani manifest ili opis sklopa.
Na razini jezika C#, prostori imena, poput Java paketa, koriste se za strukturiranje projekta. Prostor imena uključuje jednu ili više klasa. Jedna izvorna datoteka može definirati više imenskih prostora, a istovremeno se jedan imenski prostor može definirati u više datoteka. Čak se klasa može nalaziti u nekoliko datoteka (djelomične klase).
Programerima početnicima takvo obilje mogućnosti može izazvati znatne poteškoće. O veličini i složenosti okruženja može se procijeniti prema sljedećoj usporednoj tablici triju okruženja.
Djeluje zanimljivo i obećavajuće radno okruženje Eclipse, razvijen od strane IBM-a. Izvorni cilj projekta bio je stvoriti korporativni IDE standard za razvoj programa na različitim jezicima za različite platforme. Tada je projekt preimenovan u Eclipse i dostupan javnosti. Licenca vam omogućuje besplatno korištenje koda i razvojnog okruženja te istovremeno stvaranje zatvorenih komercijalnih proizvoda. Zahvaljujući tome, sustav je postao široko rasprostranjen i postao korporativni standard za razvoj aplikacija za mnoge organizacije.
Eclipse ekosustav je konsolidirana tehnologija, a 2007. godina je godina širokog usvajanja. Sustav je implementiran u Javi i u početku je bio potpuno integrirano okruženje za Java jezik. U budućnosti su počeli biti podržani i drugi jezici. Prve verzije bile su nezgodne jer je ciljni proizvod bio prisiljen uključiti nepotrebne funkcije. Počevši od treće verzije, redizajnirana je arhitektura cijelog sustava kako bi se maksimalno povećala odvojenost modula i međusobni odnos. U isto vrijeme, Eclipse moduli, formirani od konzistentnih skupova klasa, osiguravaju funkcionalnost čitavih podsustava, kao što su podsustavi pomoći, ažuriranja proizvoda, obuka, prezentacije, višejezična podrška i mnogi drugi. Kada razvijate aplikaciju, sada možete postupno povećavati funkcionalnost povezivanjem gotovih besplatnih komponenti. U Eclipse terminologiji, ove komponente se nazivaju "dodaci" ili "dodaci" (Plugins). Ova tehnologija postaje uobičajena u naprednim operativnim okruženjima. Platforma koja se temelji na ovoj tehnologiji zove se
Integrirano razvojno okruženje (IDE) je sustav softverskih alata koje koriste programeri za razvoj softvera. NA Engleski jezik takvo okruženje se naziva Integrirano razvojno okruženje ili skraćeno IDE.
IDE obično uključuje uređivač teksta, kompajler, tumač, alate za razvoj softvera i automatizaciju izrade te program za ispravljanje pogrešaka. Ponekad također sadrži alate za integraciju sa sustavima za kontrolu verzija i razne alate za pojednostavljenje izgradnje grafičkog korisničkog sučelja. Mnoga moderna razvojna okruženja također uključuju preglednik klase programa, inspektor objekata i dijagram hijerarhije klasa za korištenje u objektno orijentiranom razvoju softvera. Većina modernih IDE-a dizajnirana je za razvoj programa na nekoliko programskih jezika u isto vrijeme.
Jedan od posebnih slučajeva IDE-a su vizualna razvojna okruženja, koja uključuju mogućnost vizualnog uređivanja programskog sučelja.
Glavni prozor je uređivač teksta koji se koristi za unos izvornog koda u IDE i usmjeren je na rad sa sekvencama znakova u tekstualnim datotekama. Takvi uređivači pružaju naprednu funkcionalnost - označavanje sintakse, sortiranje nizova, predloške, pretvorbu kodiranja, prikaz kodova znakova, itd. Ponekad se nazivaju uređivačima koda, budući da je njihova glavna svrha pisanje izvornih kodova za računalne programe.
Označavanje sintakse - označavanje sintaktičkih konstrukcija teksta korištenjem različitih boja, fontova i stilova. Obično se koristi u uređivačima teksta kako bi se olakšalo čitanje izvornog teksta, poboljšala vizualna percepcija. Često se koristi pri objavljivanju izvornih kodova na Internetu.
Pojam prijevoda, kompilatora i interpretera dan je u prethodnim predavanjima.
Jedan od najvažnijih dijelova IDE-a je debugger, koji je modul razvojnog okruženja ili samostalna aplikacija dizajnirana za pronalaženje pogrešaka u programu. Alat za ispravljanje pogrešaka omogućuje vam da prolazite kroz praćenje, nadgledate, postavljate ili mijenjate vrijednosti varijabli tijekom izvođenja programa, postavljate i uklanjate prijelomne točke ili uvjete prekida, i tako dalje.
Najčešći debuggeri su:
- GNU Debugger - program za ispravljanje pogrešaka iz GNU projekta;
- IDA je disassembler i low-level debugger za Windows i GNU/Linux operativne sustave;
- Microsoft Visual Studio je okruženje za razvoj softvera koje uključuje alate za ispravljanje pogrešaka tvrtke Microsoft Corporation;
- OllyDbg je besplatni program za ispravljanje pogrešaka niske razine za operativne sustave iz obitelji Windows;
- SoftICE je debugger niske razine za operacijske sustave iz obitelji Windows;
- Dr. Watson - standardni program za ispravljanje pogrešaka sustava Windows koji vam omogućuje stvaranje ispisa memorije;
- WinDbg je Microsoftov besplatni program za ispravljanje pogrešaka.
Glavni proces otklanjanja pogrešaka je praćenje. Praćenje je proces izvršavanja programa korak po korak. U načinu praćenja, programer vidi redoslijed izvršavanja naredbi i vrijednosti varijabli u zadanom koraku izvršenja programa, što olakšava otkrivanje pogrešaka. Praćenje se može pokrenuti i završiti bilo gdje u programu, izvršavanje programa može se zaustaviti na svakoj naredbi ili prijelomnoj točki, praćenje se može izvesti sa ili bez ulaska u procedure/funkcije.
Najvažniji modul ISW-a u zajedničkom razvoju projekata srednje i visoke složenosti je sustav kontrole verzija. Sustav kontrole verzija (engleska kratica CVS) - softver za olakšavanje rada s promjenjivim informacijama. Omogućuje vam da pohranite nekoliko verzija istog dokumenta, ako je potrebno, vratite se na ranije verzije, odredite tko je i kada napravio ovu ili onu promjenu i još mnogo toga.
Takvi sustavi se najčešće koriste u razvoju softvera, za pohranjivanje izvornih kodova programa koji se razvija. Međutim, mogu se uspješno primijeniti iu drugim područjima koja rade s velikim brojem elektroničkih dokumenata koji se stalno mijenjaju, posebice se sve više koriste u CAD-u, obično kao dio sustava za upravljanje podacima o proizvodu. Versioniranje se koristi u alatima za upravljanje konfiguracijom raznih uređaja i sustava.
U našoj zemlji, možda zbog malog broja velikih projekata, sustavi za kontrolu verzija nisu dobili distribuciju, unatoč činjenici da je njihova upotreba ključ uspješne provedbe velikih projekata. S tim u vezi, zadržimo se detaljnije na ovoj mogućnosti ISR-a.
Većina sustava kontrole verzija koristi centralizirani model, gdje postoji jedno spremište dokumenata kojim upravlja poseban poslužitelj koji obavlja većinu funkcija kontrole verzija. Korisnik koji radi s dokumentima prvo mora nabaviti verziju dokumenta koja mu je potrebna iz repozitorija; obično se stvara lokalna kopija dokumenta, takozvana "radna kopija". Najnovija verzija ili bilo koja od prethodnih verzija može se dobiti, odabrana prema broju verzije ili datumu stvaranja, ponekad prema drugim kriterijima. Nakon što se u dokument unesu željene izmjene, nova verzija se postavlja u spremište. Za razliku od jednostavnog spremanja datoteke, prethodna verzija se ne briše, već također ostaje u repozitoriju i može se odatle dohvatiti u bilo kojem trenutku. Poslužitelj može koristiti delta kompresiju, metodu pohranjivanja dokumenata koja zadržava samo promjene između uzastopnih verzija, čime se smanjuje količina pohranjenih podataka.
Ponekad se izrada nove verzije vrši korisniku nevidljivo (transparentno) - bilo uz pomoć aplikacijskog programa koji ima ugrađenu podršku za takvu funkciju, bilo korištenjem posebnog datotečnog sustava. U potonjem slučaju, korisnik jednostavno radi s datotekom kao i obično, a kada se datoteka spremi, automatski se stvara nova verzija.
Često se događa da više ljudi radi na istom projektu u isto vrijeme. Ako dvije osobe mijenjaju istu datoteku, jedna od njih može slučajno poništiti promjene koje je napravila druga. Sustavi kontrole verzija prate takve sukobe i nude alate za njihovo rješavanje. Većina sustava može automatski spojiti (spojiti) promjene koje su napravili različiti programeri. Međutim, takvo automatsko spajanje promjena obično je moguće samo za tekstualne datoteke, i to samo pod uvjetom da su izmijenjeni različiti (nepreklapajući) dijelovi te datoteke. Ovo ograničenje je zbog činjenice da je većina sustava kontrole verzija usmjerena na podršku procesu razvoja softvera, a izvorni kodovi programa pohranjeni su u tekstualnim datotekama. Ako automatsko spajanje ne uspije, sustav može ponuditi ručno rješavanje problema.
Često je nemoguće spojiti bilo automatski ili ručno, na primjer, ako je format datoteke presložen ili potpuno nepoznat. Neki sustavi kontrole verzija daju vam mogućnost zaključavanja datoteke u trezoru. Zaključavanje sprječava druge korisnike da dobiju radnu kopiju ili da modificiraju radnu kopiju datoteke (na primjer, pomoću datotečnog sustava) i tako osigurava ekskluzivni pristup samo korisniku koji radi na dokumentu.
Ostale značajke sustava kontrole verzija su:
U stvaranju različitih verzija istog dokumenta grananja, sa zajedničkom poviješću promjena prije točke grananja i s različitima nakon nje.
Vođenje dnevnika promjena, gdje korisnici mogu pisati objašnjenja o tome što su i zašto promijenili u ovoj verziji;
Kontrolira prava pristupa korisnika, dopuštajući ili zabranjujući čitanje ili mijenjanje podataka, ovisno o tome tko zahtijeva ovu radnju.
Distribuirani sustavi kontrole verzija zasebna su klasa. Takvi sustavi koriste distribuirani model umjesto tradicionalnog modela klijent-poslužitelj. Općenito, ne treba im centralizirano spremište: cjelokupna povijest promjena dokumenta pohranjuje se na svakom računalu u lokalnoj pohrani, a po potrebi se pojedinačni fragmenti lokalne pohrane povijesti sinkroniziraju sa sličnim pohranjivanjem na drugom računalu. U nekim od ovih sustava, lokalna pohrana nalazi se izravno u direktorijima radne kopije.
Kada korisnik takvog sustava izvodi normalne radnje, kao što je provjera određene verzije dokumenta, stvaranje nove verzije i tako dalje, on radi sa svojom lokalnom kopijom repozitorija. Kako se unose promjene, repozitoriji koji pripadaju različitim programerima počinju se razlikovati i postaje ih potrebno sinkronizirati. Takva se sinkronizacija može provesti razmjenom zakrpa ili takozvanih skupova promjena između korisnika.
Glavna prednost distribuiranih sustava je njihova fleksibilnost. Svaki programer može raditi samostalno, kako smatra prikladnim, spremajući međuverzije dokumenata i prenoseći rezultate drugim sudionicima kada to smatra prikladnim. U ovom slučaju, razmjena skupova promjena može se provesti prema različitim shemama. U malim timovima, sudionici rada mogu dijeliti promjene na bazi jedan-na-jedan, eliminirajući potrebu za namjenskim poslužiteljem. Velika zajednica, naprotiv, može koristiti centralizirani poslužitelj s kojim se sinkroniziraju kopije svih njezinih članova. Moguće su i složenije opcije, na primjer, sa stvaranjem grupa za rad u zasebnim područjima unutar većeg projekta.
Da biste koristili sustave kontrole verzija, morate poznavati terminologiju tih sustava. Ne postoji općeprihvaćena terminologija, različiti sustavi mogu koristiti različite nazive za iste radnje.
Ispod su neke od najčešće korištenih opcija. Zbog činjenice da je sustave razvila engleska govorna zajednica, a terminologija na ruskom jeziku još nije razvijena, koriste se engleski izrazi.
grana (grana) - pravac razvoja, neovisan o drugima. Grana je kopija dijela (obično jednog direktorija) repozitorija, u kojem možete napraviti vlastite promjene bez utjecaja na druge grane. Dokumenti u različitim granama imaju istu povijest prije točke grananja i različitu povijest nakon nje.
check-in, commit, submit - stvaranje nove verzije, objavljivanje promjena. Širenje promjena napravljenih u radnoj kopiji u spremište dokumenata. Istovremeno se u repozitoriju stvara nova verzija izmijenjenih dokumenata.
C heck-out, clone - Dohvatite dokument iz pohrane i stvorite radnu kopiju.
C onflict - konfliktna situacija kada je nekoliko korisnika promijenilo isti dio dokumenta. Sukob se otkriva kada je jedan korisnik već objavio svoje izmjene, a drugi ih samo pokušava objaviti, a sam sustav ne može ispravno spojiti sukobljene izmjene. Budući da program možda nije dovoljno inteligentan da odredi koja je promjena "točna", drugi korisnik treba sam riješiti sukob (razriješi).
M erge, integracija (spajanje) - kombiniranje neovisnih promjena u jednu verziju dokumenta. Dogodilo se kada su dvije osobe promijenile istu datoteku ili kada su promjene premještene iz jedne grane u drugu.
R repozitorij (repozitorij dokumenata) - mjesto gdje sustav kontrole verzija pohranjuje sve dokumente zajedno s njihovom poviješću promjena i drugim servisnim informacijama.
R izdanje (verzija dokumenta). Sustavi za kontrolu verzija razlikuju verzije prema brojevima koji se automatski dodjeljuju.
T ag, oznaka (oznaka) - koja se može dodijeliti određenoj verziji dokumenta. Oznaka je simbolički naziv za grupu dokumenata i opisuje ne samo skup naziva datoteka, već i reviziju svake datoteke. Revizije dokumenata uključenih u oznaku mogu pripadati različitim vremenskim točkama.
T runk, mainline (trunk) - glavna grana razvoja projekta. Politika debla može se razlikovati od projekta do projekta, ali općenito je sljedeća: većina promjena se vrši u deblu; Ako želiš velika promjena, što može dovesti do nestabilnosti, stvara se grana koja se spaja s deblom kada je inovacija dovoljno ispitana; prije izdavanja sljedeće verzije, kreira se grana “release” u kojoj se rade samo ispravci.
U pdate, sync (ažuriranje, sinkronizacija) - sinkronizacija radne kopije u neko određeno stanje pohrane. Najčešće, ova akcija znači ažuriranje radne kopije na najnovije stanje trezora. Međutim, ako je potrebno, možete sinkronizirati radnu kopiju u starije stanje od trenutnog.
W orking copy (working copy) - radna (lokalna) kopija dokumenata.
Razmotrite mogućnosti ISR-a koristeći najpristupačnije i najpopularnije verzije kao primjer.
Eclipse (od engleskog eclipse) je besplatno integrirano razvojno okruženje za modularne međuplatformske aplikacije (slika 69). Razvila i održava neprofitna Eclipse Foundation (http://www.eclipse.org/).
U početku je Eclipse razvio IBM kao korporativni IDE standard za razvoj na različitim jezicima za platforme ove tvrtke. Prema IBM-u, dizajn i razvoj koštali su 40 milijuna dolara. Izvorni kod je bio potpuno otvoren i dostupan nakon što je Eclipse predan IBM-ovoj zajednici na daljnji razvoj.
Eclipse se temelji na OSGi okviru i SWT/JFace, na temelju kojih se razvija sljedeći sloj - RCP (Rich Client Platform, platforma za razvoj punopravnih klijentskih aplikacija). RCP služi kao osnova ne samo za Eclipse, već i za druge RCP aplikacije kao što su Azureus i File Arranger. Sljedeći sloj je sam Eclipse, koji je skup RCP proširenja: uređivači, paneli, perspektive, CVS modul i modul Java Development Tools (JDT).
Eclipse je, prije svega, punopravni Java IDE namijenjen grupnom razvoju: podrška za CVS uključena je u isporuku Eclipsea, aktivno se razvija nekoliko varijanti SVN modula, postoji podrška za VSS i druge. Zbog svoje besplatne i visoke kvalitete, Eclipse je korporativni standard za razvoj aplikacija u mnogim organizacijama.
Druga svrha Eclipsea je da služi kao platforma za razvoj novih ekstenzija, što ga je učinilo popularnim: svaki programer može proširiti Eclipse svojim vlastitim modulima. Već postoje C/C++ razvojni alati (CDT) koje razvijaju QNX inženjeri u suradnji s IBM-om, te alati za COBOL, FORTRAN, PHP i druge od raznih programera. Mnoga proširenja nadopunjuju Eclipse okruženje s upraviteljima za rad s bazama podataka, aplikacijskim poslužiteljima itd.
Slika 69 . Sučelje glavnog prozora Eclipse
Eclipse je napisan u Javi, stoga je proizvod neovisan o platformi, s izuzetkom SWT biblioteke koja je razvijena za sve uobičajene platforme. SWT biblioteka koristi se umjesto standardne Java Swing biblioteke. U potpunosti se oslanja na temeljnu platformu (operativni sustav) za responzivno i prirodno korisničko sučelje, ali ponekad uzrokuje probleme kompatibilnosti i stabilnosti aplikacije na različitim platformama.
Osnova Eclipsea je bogata klijentska platforma (RCP). Njegove komponente:
OSGi (standardno okruženje isporuke paketa);
SWT (portable widget toolkit);
JFace (međuspremnici datoteka, manipulacija tekstom, uređivači teksta);
Eclipse radno okruženje (paneli, editori, projekcije, čarobnjaci).
Drugi popularni besplatni IDE je KDevelop (http://www.kdevelop.org, slika 70). KDevelop je besplatno okruženje za razvoj softvera za operacijske sustave slične UNIX-u. Projekt je započeo 1998. godine. KDevelop se distribuira pod GNU Općom javnom licencom.
Slika 70. KDevelop sučelje
KDevelop ne uključuje kompajler, umjesto toga koristi bilo koji kompajler za generiranje izvršnog koda.
Trenutna stabilna verzija podržava veliki broj programskih jezika kao što su Ada, Bash, C, C++, Fortran, Java, Pascal, Perl, PHP, Python, Ruby i SQL.
KDevelop koristi ugrađenu komponentu - uređivač teksta - kroz Kparts tehnologiju. Glavna urednica je Kate.
KDevelop funkcije:
Označavanje izvornog koda, uzimajući u obzir sintaksu korištenog programskog jezika, koja se određuje automatski;
Voditelj projekata različitih tipova, kao što su Automake, qmake za projekte bazirane na Qt tehnologijama i Ant za projekte bazirane na Javi;
Class Navigator (Preglednik razreda);
Sučelje za GNU Compiler Collection;
Front-end za GNU Debugger
Pomoćnici za generiranje i ažuriranje definicija klasa i platformi (framework);
Sustav za automatsko dovršavanje koda (C/C++);
Ugrađena podrška za dokumentacijski sustav izvornog koda (Doxygen);
Jedan od sustava kontrole verzija: SCM, CVS, Subversion, Perforce i ClearCase;
Značajka Quick Open omogućuje vam brzo kretanje kroz datoteke.
KDevelop je "pluggable" arhitektura. Kada programer napravi promjene, on samo treba kompajlirati dodatak. Moguće je spremiti profile koji pokazuju koje dodatke treba učitati. KDevelop ne dolazi s ugrađenim uređivačem teksta, dolazi kao dodatak. KDevelop ne ovisi o programskom jeziku i platformi na kojoj radi, podržava KDE, GNOME i mnoge druge tehnologije (na primjer, Qt, GTK+ i wxWidgets).
Ugrađeni program za ispravljanje pogrešaka KDevelop omogućuje vam grafički rad sa svim alatima za otklanjanje pogrešaka, poput prijelomnih točaka i povratnih tragova. Također može raditi s dinamički učitanim dodacima, za razliku od gdb konzole.
Trenutno postoji oko 50 do 100 dodataka za ovaj IDE. Među najkorisnijima su postojane knjižne oznake koda za cijeli projekt, kratice koda koje vam omogućuju brzo proširivanje teksta, formatiranje izvora koji preoblikuje tekst za stilski vodič prije spremanja, pretraživanje regularnih izraza i pretraživanje/zamjena za cijeli projekt.
Posljednji razmatrani ISR je Microsoft Visual Studio (Microsoft Visual Studio, slika 71). Zapravo, Microsoft Visual Studio je linija Microsoftovih proizvoda koja uključuje integrirano okruženje za razvoj softvera i niz drugih alata.
Slika 71. Microsoft Visual Studio sučelje
Microsoft Visual Studio uključuje jedno ili više od sljedećeg: Visual Basic.NET, Visual C++, Visual C#, Visual F#, Microsoft SQL Server, Visual InterDev, Visual J++, Visual J#, Visual FoxPro, Visual Source Safe.
Jedna od glavnih prednosti Microsoft Visual Studija je visoka kvaliteta dokumentacije procesa razvoja i opisa mogućih problema u MSDN biblioteci. Međutim, najzanimljiviji dio za profesionalca, posvećen zamršenostima razvoja, postoji samo na engleskom jeziku.
Microsoft također nudi besplatnu alternativu za Visual Studio Express.
Odabir razvojnog okruženja
Integrirano razvojno okruženje, ISR (engl. IDE, Integrated development environment ili Integrated DebuggingEnvironment) je programski sustav koji koriste programeri za razvoj softvera (softvera).
Razvojno okruženje uključuje:
Uređivač teksta;
Prevodilac i/ili tumač;
Alati za automatizaciju montaže;
Debugger.
IDE ponekad također sadrži alate za integraciju sa sustavima kontrole verzija i razne alate za pojednostavljenje izgradnje grafičkog korisničkog sučelja. Mnoga moderna razvojna okruženja također uključuju preglednik klasa, inspektor objekata i dijagram hijerarhije klasa za korištenje u objektno orijentiranom razvoju softvera. Iako postoje IDE-ovi koji se koriste za više programskih jezika kao što su Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator ili Microsoft Visual Studio, IDE-ovi obično koriste jedan određeni programski jezik kao što su Visual Basic, Delphi, Dev -C++.
Poseban slučaj ISR-a su vizualna razvojna okruženja, koja uključuju mogućnost vizualnog uređivanja programskog sučelja.
IDE-ovi su stvoreni kako bi se povećala produktivnost programera kroz čvrsto povezane komponente s jednostavnim korisničkim sučeljima. To će programeru omogućiti manje koraka za prebacivanje između različitih načina rada, za razliku od diskretnih razvojnih programa. Međutim, budući da je IDE složen programski paket, tek nakon dugog procesa učenja, razvojno okruženje će moći ubrzati proces razvoja softvera.
IDE je obično jedini program u kojem je obavljen sav razvoj. Obično sadrži mnoge funkcije za stvaranje, modificiranje, kompajliranje, implementaciju i otklanjanje pogrešaka softvera. Cilj razvojnog okruženja je apstrahirati konfiguraciju potrebnu za kombiniranje uslužnih programa naredbenog retka u jedan modul, što će smanjiti vrijeme potrebno za učenje jezika i povećati produktivnost programera. Također se vjeruje da teška integracija razvojnih zadataka može dodatno poboljšati produktivnost. Na primjer, IDE vam omogućuje analizu koda i time pruža trenutnu povratnu informaciju i obavještava vas o pogreškama u sintaksi. Iako su većina modernih IDE-a grafički, oni postoje otkad su postojali prozorski sustavi (koji su implementirani u Microsoft Windows ili X11 na *nix sustavima). Bili su temeljeni na tekstu, koristeći funkcijske tipke ili prečace za obavljanje raznih zadataka (npr. Turbo Pascal). Korištenje IDE-a za razvoj softvera upravo je suprotno od načina na koji se koriste nepovezani alati kao što su vi (uređivač teksta), GCC (prevodilac), itd.
Trenutačno postoji nekoliko okruženja za razvoj aplikacija u jeziku C#, a glavna su prikazana u tablici 1.1.
Tablica 1.1 - Usporedba C# razvojnih okruženja
GPL licenca daje korisniku prava na kopiranje, modificiranje i distribuciju (uključujući komercijalnu) programa (što je prema zadanim postavkama zabranjeno zakonom o autorskim pravima), a također jamči da će korisnici svih izvedenih programa dobiti gore navedena prava.
LGPL licenca dopušta da se programi pod bilo kojom licencom koja je nekompatibilna s GNU GPL-om povežu s ovom bibliotekom ili programom, pod uvjetom da takav program nije izveden iz objekta koji se distribuira pod (L)GPL-om, osim povezivanjem. Glavna razlika između GPL-a i LGPL-a je u tome što potonji također dopušta povezivanje s danim objektom od strane drugih koji stvaraju izvedeno djelo danog objekta, ako licenca povezanih objekata dopušta "modifikacije za internu upotrebu potrošača i obrnuto inženjering za otklanjanje pogrešaka takvih modifikacija." Oni. LGPL, za razliku od GPL-a, omogućuje povezivanje knjižnice s bilo kojim programom, ne nužno besplatnim.
Zatvoreni (vlasnički) softver (eng. Proprietary software) - softver koji je privatno vlasništvo autora ili nositelja autorskih prava i ne zadovoljava kriterije za slobodni softver (dostupnost otvorenog koda nije dovoljna). Vlasnik vlasničkog softvera zadržava monopol na njegovu upotrebu, kopiranje i modificiranje, u cijelosti ili u značajnim trenucima. Uobičajeno je nazivati vlasničkim softverom svaki neslobodni softver, uključujući poluslobodni softver.
Geany je besplatno okruženje za razvoj softvera napisano pomoću biblioteke GTK2. Dostupno za sljedeće operativne sustave: BSD, Linux, Mac OS X, Solaris i Windows. Geany se distribuira pod GNU Općom javnom licencom. Geany ne uključuje kompajler. Umjesto toga, GNU Compiler Collection (ili bilo koji drugi prevodilac) koristi se za generiranje izvršnog koda.
Microsoft Visual Studio linija je Microsoftovih proizvoda koja uključuje integrirano okruženje za razvoj softvera i niz drugih alata. Ovi proizvodi vam omogućuju da razvijete i konzolne aplikacije i aplikacije s grafičkim sučeljem, uključujući one s podrškom za tehnologiju Windows Forms, kao i web stranice, web aplikacije, web usluge u izvornom i upravljanom kodu za sve platforme, koje podržava Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework i Microsoft Silverlight. Visual Studio uključuje uređivač izvornog koda s podrškom za tehnologiju IntelliSense i mogućnošću jednostavnog refaktoriranja koda. Ugrađeni program za ispravljanje pogrešaka može raditi i kao program za ispravljanje pogrešaka na razini izvora i kao program za ispravljanje pogrešaka na razini stroja. Ostali alati koji se mogu ugraditi uključuju uređivač obrazaca za pojednostavljenje izrade GUI aplikacije, web uređivač, dizajner klase i dizajner sheme baze podataka. Visual Studio vam omogućuje stvaranje i povezivanje dodataka (dodataka) trećih strana za proširenje funkcionalnosti na gotovo svim razinama, uključujući dodavanje podrške za sustave kontrole verzije izvornog koda (kao što su Subversion i Visual SourceSafe), dodavanje novih alata (na primjer, za uređivanje i dizajn vizualnog koda).u programskim jezicima specifičnim za domenu ili alatima za druge aspekte ciklusa razvoja softvera (na primjer, klijent Team Explorer za rad s Team Foundation Serverom).
MonoDevelop je besplatno razvojno okruženje za izradu C#, Java, Boo, Nemerle, Visual Basic .NET, Vala, CIL, C i C++ aplikacija. U planu je i podrška za Oxygene od strane Embarcadero Technologies. Izvorno je to bio Mono/GTK+ port SharpDevelopa, ali od tada se projekt daleko udaljio od svog izvornog stanja. MonoDevelop je dio projekta Mono.
SharpDevelop je besplatno razvojno okruženje za C#, Visual Basic .NET, Boo, IronPython, IronRuby, F#, C++. Obično ga koriste oni koji ne žele koristiti Visual Studio .NET. Postoji i Mono/Gtk+ fork koji se zove MonoDevelop. SharpDevelop 2.0 pruža integrirani program za ispravljanje pogrešaka koji koristi vlastite biblioteke i komunicira s .NET runtimeom kroz COM Interop. Iako SharpDevelop 2.0 (poput VS2005) koristi MSBuild projektne datoteke, još uvijek može koristiti prevoditelje iz .NET Framework 1.0 i 1.1, kao i iz Mono.
Za razvoj je potrebno aktivno koristiti sve alate programskog jezika. Međutim, okruženje MonoDevelop koristi vlastiti kompajler koji ne podržava u potpunosti jezik C# zbog činjenice da se radi o besplatnom višeplatformskom razvoju neovisnom o kreatorima jezika. Iako nudi više platformi, nemoguće je predvidjeti ponašanje jezika u novim verzijama. A jedna od ključnih komponenti projekta je njegova tolerancija na pogreške i stabilnost, au isto vrijeme nije potrebna multiplatforma (postoji vrlo malo korisnika 1C na Linuxu). Stoga ovo okruženje nije pogodno za razvoj ovog projekta.
SharpDevelop i Geany nemaju vlastite kompajlere. Stoga, za razvoj pomoću ovih okruženja, još uvijek morate koristiti vlasnički softver, što njihovu upotrebu čini opravdanom samo u nekim slučajevima. Na primjer, na računalima slabih performansi ili s vrlo ograničenim proračunom projekta. Unatoč činjenici da se mogu pokrenuti i izvoditi na Linuxu, ova razvojna okruženja, zbog nedostatka vlastitih kompilatora, neće moći izraditi multiplatformsku aplikaciju, a razvoj će i dalje biti ograničen na Windows operativne sustave.
Microsoft Visual Studio također nije bez nedostataka. Glavni su težina, koja zahtijeva prilično veliku računalnu snagu računala; plaćanje; nedostatak multiplatforme. Unatoč ovim nedostacima, Visual Studio ostaje razvojno okruženje izbora za većinu C# programera. Razlog tome je puna jezična podrška, napredni razvojni alati, dokumentacija koja se snažno razvija i samo okruženje. Ovo razvojno okruženje koristit će se u projektu.