Šiuolaikiniai programų kūrimo įrankiai
Šiuo metu su kiekviena programavimo sistema yra susieti ne atskiri įrankiai (pavyzdžiui, kompiliatorius), o tam tikras logiškai susijęs programinės ir techninės įrangos rinkinys, kuris palaiko PS kūrimą ir priežiūrą tam tikra programavimo kalba arba orientuota į bet kurią konkrečią dalykinę sritį. . Tokią kolekciją vadinsime įrankių aplinka PS kūrimui ir priežiūrai. Tokioms įrankių aplinkoms, pirma, būdingas tiek programinės, tiek techninės įrangos naudojimas, ir, antra, tam tikra orientacija į konkrečią programavimo kalbą arba į konkrečią dalykinę sritį.
Įrankio aplinka neturi veikti kompiuteryje, kuriame bus naudojamas jos pagalba sukurtas PS. Dažnai toks derinys yra gana patogus (jei tik leidžia naudojamo kompiuterio galia): nereikia turėti reikalų su skirtingų tipų kompiuteriais, į kuriamą PS galima įtraukti pačios įrankio aplinkos komponentus. Tačiau jei kompiuteris, kuriame bus naudojamas PS, šio PS kūrėjams nepasiekiamas (pavyzdžiui, jis nuolat užsiėmęs kitais darbais, kurių negalima nutraukti, arba jis vis dar kuriamas), arba yra nepatogus kuriant PS, arba šio kompiuterio galia yra nepakankama, kad būtų užtikrintas reikiamos instrumentinės aplinkos funkcionavimas, tada vadinama. instrumentinis-objektinis požiūris. Jo esmė slypi tame, kad PS sukurtas viename kompiuteryje, vadinamame instrumentinis, ir bus pritaikytas kitame kompiuteryje, vadinamame taikinys(arba objektyvus).
Yra trys pagrindinės įrankių kūrimo aplinkų ir PS priežiūros klasės (16.1 pav.):
programavimo aplinkos,
Darbai kompiuterinių technologijų srityje,
programavimo technologijos instrumentinės sistemos.
Programavimo aplinka daugiausia skirtas PS programavimo (kodavimo), testavimo ir derinimo procesams palaikyti. Kompiuterinių technologijų darbo vieta orientuota į ankstyvųjų PS kūrimo etapų palaikymą (specifikacijos) ir automatinį programų generavimą pagal specifikacijas. Programavimo technologijų įrankių sistema skirta palaikyti visus kūrimo ir priežiūros procesus per visą programinės įrangos gyvavimo ciklą ir yra orientuota į kolektyvinį didelių programinės įrangos sistemų, kurių gyvavimo ciklas, kūrimą. Tokių sistemų priežiūros išlaidos paprastai viršija kūrimo išlaidas.
Ryžiai. 16.1. Pagrindinės PS kūrimo ir priežiūros įrankių aplinkų klasės.
Įrankių programavimo aplinkos.
Programavimo įrankių aplinkose visų pirma yra teksto rengyklė, leidžianti kurti programas tam tikra programavimo kalba, įrankiai, leidžiantys kompiliuoti ar interpretuoti programas šia kalba, taip pat testuoti ir derinti gautas programas. Be to, gali būti ir kitų įrankių, pavyzdžiui, statinei arba dinaminei programų analizei. Šie įrankiai sąveikauja tarpusavyje naudodami įprastus failus, naudodami standartines failų sistemos galimybes.
Yra šios programavimo įrankių aplinkų klasės (žr. 14.2 pav.):
bendros paskirties aplinka,
į kalbą orientuotos aplinkos.
Programavimo aplinkos Pagrindinis tikslas yra programinės įrangos įrankių rinkinys, kuris palaiko programų kūrimą skirtingomis kalbomis programavimas (pavyzdžiui, teksto rengyklė, saitas arba tikslinio kompiuterio kalbos vertėjas) ir paprastai yra tam tikras naudojamos operacinės sistemos galimybių išplėtimas. Norėdami programuoti tokioje aplinkoje bet kuria programavimo kalba, jums reikės papildomų įrankių, orientuotų į šią kalbą (pavyzdžiui, kompiliatoriaus).
16.2 pav. Programavimo įrankių aplinkų klasifikacija.
Orientuotas į kalbą programavimo įrankių aplinka skirta palaikyti PS kūrimą bet kuria programavimo kalba, o žinios apie šią kalbą buvo reikšmingai panaudotos kuriant tokią aplinką. Dėl to tokioje aplinkoje gali būti prieinamos gana galingos funkcijos, kurios atsižvelgia į šios kalbos specifiką. Tokios aplinkos skirstomos į du poklasius:
interpretacinė aplinka,
sintaksės valdomos aplinkos.
interpretacinis programavimo įrankių aplinka suteikia programų interpretaciją tam tikra programavimo kalba, t.y. pirmiausia yra programavimo kalbos, į kurią orientuota ši aplinka, vertėjas. Tokia aplinka reikalinga interpretacinio tipo programavimo kalboms (pvz., Lisp), tačiau gali būti naudojama ir kitoms kalboms (pvz., instrumentiniame kompiuteryje). Sintaksės varomas programavimo įrankių aplinka yra pagrįsta programavimo kalbos, į kurią ji orientuota, sintaksės žiniomis. Tokioje aplinkoje vietoj teksto redaktoriaus naudojamas sintaksiniu būdu valdomas redaktorius, leidžiantis vartotojui naudoti įvairius sintaksinių konstrukcijų šablonus (dėl to kuriama programa visada bus sintaksiškai teisinga). Kartu su programa toks redaktorius suformuoja (kompiuterio atmintyje) savo sintaksės medį, kurį gali naudoti kiti įrankiai.
Aleksejus Fiodorovas, Natalija Elmanova
Ankstesnis šios serijos straipsnis buvo skirtas loginiam ir fiziniam duomenų bei šiame procese naudojamų įrankių svarstymui. Esame įsitikinę, kad duomenų inžinerija vaidina pagrindinį vaidmenį kuriant informacines sistemas, nes nuo šio darbo kokybės priklauso kaštai, susiję su aplikacijų kūrimu galutiniams vartotojams, o taip pat su vėlesne kuriamo produkto priežiūra ir modernizavimu. Šio veiksmo rezultatas yra „tuščia“ duomenų bazė (t. y. duomenų bazė, kurios lentelėse dažniausiai nėra įrašų, išskyrus galbūt nuorodų lenteles, tokias kaip temų sąrašas Rusijos Federacija arba telefono vietovės kodai).
Kitas etapas gyvenimo ciklas informacinė sistema – klientų programų kūrimas. Šio etapo rezultatas – gatavas produktas, susidedantis iš daugybės taikomųjų programų, kurios leidžia vartotojams įvesti duomenis į lenteles arba redaguoti esamus duomenis, analizuoti įvestus duomenis ir pateikti juos lengviau skaitoma forma – grafikais, suvestinės lentelėmis ar ataskaitomis (įskaitant "popieriniai dokumentai).
Duomenų, skirtų reliacinėms DBVS, projektavimo procesas tam tikru mastu yra logiškas procesas ir jam taikoma viena standartinė metodika. Tai sąlygoja mažą veiksmų sekos, atliekamų projektuojant šiuos veiksmus, priklausomybę nuo to, koks duomenų projektavimo įrankis naudojamas, ir nuo to, ar jis naudojamas apskritai. Tiesą sakant, dėl šios priežasties duomenų projektavimo įrankiai yra daugiau ar mažiau panašūs savo sąsaja, kuri iš esmės atspindi duomenų modelių piešimo ant popieriaus procesą.
Klientų programų, veikiančių su duomenų bazėmis, kūrimo procesą gana sunku apibūdinti tokia universalia veiksmų seka, nes konkrečios programos logika beveik visiškai priklauso nuo modeliuojamo verslo proceso logikos. Programų kūrimo įrankiai, kaip programinės įrangos produktų kategorija, egzistavo daug ilgiau nei duomenų projektavimo įrankiai, be to, jie yra įvairesni – nuo kompiliatoriaus, paleisto iš komandinės eilutės, iki įrankių, kuriuose baigta programa surenkama „pele“ iš paruoštų komponentų, ir kodas generuojamas automatiškai. Turint tokią įvairovę kūrimo įrankiai, juos reikėtų kažkaip klasifikuoti, ką ir pabandysime padaryti šiame straipsnyje, pakeliui nurodydami, kuriuos iš jų patogu naudoti konkrečiu atveju.
Programų kūrimo įrankių klasifikacija
Kūrimo įrankius galima klasifikuoti iš įvairių pozicijų, pavyzdžiui, pagal palaikomą programavimo kalbą arba sukurtų programų našumą tam tikroje platformoje ar tam tikrų bibliotekų ir vizualinių įrankių buvimą jose. Bandysime klasifikuoti taikomųjų programų kūrimo įrankius pagal jų naudojimo patogumą kurdami produktus, kurie yra vartotojo sąsaja su duomenų baze.
Beveik bet koks kūrimo įrankis, kuris teigia esąs universalus, gali būti pritaikytas dirbti su bet kokia duomenų baze – pakanka palaikyti trečiųjų šalių bibliotekų naudojimą šiame kūrimo įrankyje ir ši duomenų bazė turi klientų sąsajų (API) rinkinį platformai. kurias sukurtos programos turėtų veikti . Tačiau ne kiekviena „kūrimo įrankio ir DBVS“ produktų pora yra patraukli darbo sąnaudų, susijusių su tokių programų kūrimu, požiūriu. Galite parašyti visą programą, kuri iškviečia kliento API funkcijas ir įdiegia patogią vartotojo sąsają naudodami C kompiliatorių ir paprastą grafikos biblioteką (pavyzdžiui, leidžiančią pakeisti ekrano pikselių spalvą) operacinei sistemai, kurioje tai daroma. programa veiks. Tačiau išlaidos, susijusios su tokio projekto įgyvendinimu, gali būti visiškai nepateisinamos, nes tokiu atveju kūrėjai turės įdiegti funkcijas, kurios jau yra klasių bibliotekose ir kūrimo įrankių komponentuose, kurie yra labiau orientuoti į duomenų bazių programų kūrimą arba apima palaikymą. tokių programų kūrimui.
Kūrimo įrankiai, orientuoti į konkrečias DBVS
Prieš dešimt ar dvidešimt metų daugelyje programų, naudojančių duomenų bazes, kliento API funkcijos buvo iškviečiamos iš kodo, parašyto viena iš programavimo kalbų, dažniausiai C. Tiesiog pažvelkite į beveik bet kurios serverio pusės kliento dalies API aprašymą. DBVS – ir rasite daugybę tipiškiausių kodo fragmentų pavyzdžių, pavyzdžiui, vartotojui registruoti, užklausoms vykdyti ir pan. Tačiau DBVS kūrėjams greitai tapo aišku, kad darbo sąnaudas, susijusias su tokio kodo rašymu, galima žymiai sumažinti, surenkant į bibliotekas tipiškiausius kodo fragmentus ir dažniausiai naudojamus vartotojo sąsajos elementus (net ir raidiniams skaitmeniniams terminalams), sutvarkius šias bibliotekas kaip atskirą produktą ir į jį įtraukiant kūrimo aplinką ir vartotojo formų projektavimo priemones, skirtas duomenims, ataskaitoms peržiūrėti ir redaguoti. Taip atsirado pirmieji DBVS specifiniai kūrimo įrankiai, tokie kaip Oracle * Forms (dabartinės sistemos pirmtakas „Oracle Forms“ kūrėjas).
Šios klasės gaminių vis dar galima rasti kūrimo įrankių rinkoje. Beveik visi serverių duomenų bazių pardavėjai taip pat gamina taikomųjų programų kūrimo įrankius. Daugeliu atvejų šiuolaikinės šių kūrimo įrankių versijos palaiko prieigą prie kitų gamintojų DBVS naudojant bent vieną iš universalių duomenų prieigos mechanizmų (ODBC, OLE DB, BDE). Tačiau prieiga prie „savo“ DBVS dažniausiai vykdoma efektyviausiu būdu, tai yra naudojant kliento API, objektus, esančius serverio DBVS kliento dalies bibliotekose, specialias klases, skirtas pasiekti šios DBVS duomenis, arba įdiegti universaliųjų duomenų prieigos mechanizmų tvarkykles, galinčias atsižvelgti į specifines šios DBVS ypatybes.
AT atskira kategorija galima išskirti darbalaukio DBVS kūrimo aplinkas. Šios serijos straipsnyje, skirtame darbalaukio DBVS, jau pažymėjome, kad didžioji dauguma stalinių kompiuterių DBVS, išlikusių iki šiandien, pavyzdžiui, Microsoft Visual FoxPro, Microsoft Access, Corel Paradox, Visual dBase, palaiko prieigą prie serverio DBVS, bent jau universalių duomenų prieigos mechanizmų pagalba, kas leidžia jas sąlyginai priskirti kūrimo priemonėms. Tačiau atkreipkite dėmesį, kad šiuo metu programų kūrimas „kliento-serverio“ architektūroje jų pagalba yra nedažnas reiškinys. Išimtis, ko gero, yra poros „Microsoft Access“ – MSDE, „Microsoft Access“ – „Microsoft SQL Server“ ir „Microsoft Visual FoxPro“ – „Microsoft SQL Server“. Tai yra kompetentingos „Microsoft“ politikos, siekiančios maksimalaus savo produktų suderinamumo ir suteikti vartotojams neskausmingiausią galimybę pakeisti savo darbalaukio DBVS į savo duomenų bazių serverius (Access->MSDE->Microsoft SQL Server, FoxPro->Visual), rezultatas. FoxPro->Microsoft SQL Server) .
Kūrimo įrankiai, kurie yra universalūs DBVS atžvilgiu
Kūrimo įrankiai, kurie yra universalūs DBVS atžvilgiu (arba pretenduoja į panašų universalumą), paprastai yra įprastinių programų kūrimo įrankių, kurie nėra tiesiogiai susiję su duomenų bazėmis, pasekėjai. Tipiški tokių kūrimo įrankių pavyzdžiai yra Borland Pascal, Borland C++, Microsoft QuickC. Šie įrankiai, galintys naudoti trečiųjų šalių bibliotekas, leido pasiekti klientų API funkcijas, o sukūrus universalius duomenų prieigos mechanizmus (pvz., ODBC), taip pat tokius mechanizmus diegiančių bibliotekų API funkcijas. Reikėtų pažymėti, kad naudojant šiuos kūrimo įrankius dažnai buvo kuriamos darbalaukio DBVS aplinkos (pvz., dBase, FoxBase) arba pseudokompiliatoriai xBase šeimos kalboms (pvz., Clipper).
Vėlesnėse minėtų kūrimo įrankių versijose buvo įgytos funkcijų ir klasių bibliotekos, skirtos prieiti prie duomenų naudojant tam tikrus universalius mechanizmus. Tolimesnė kūrimo priemonių plėtra paskatino dviejų kategorijų gaminių atsiradimą šiam tikslui.
Pirmoji kategorija apima kūrimo priemones, kurios turi plačias klasių bibliotekas, daugybę „vedlių“ ir kodų generatorių, tačiau yra orientuoti į „rankinį“ kodo kūrimą ir retai naudojami kuriant „standartines“ duomenų bazių programas (čia po fraze „standartas“ programa "turime omenyje programą, turinčią tiesioginę prieigą prie duomenų bazės, su kuria vartotojas sąveikauja, tai yra, tai yra "klasikinis" serverio DBVS klientas). Tipiškas (ir vienintelis tikrai populiarus programinės įrangos rinkoje) šios klasės produktų atstovas yra Microsoft Visual C++. Naudodami Microsoft Visual C++ ir MFC (Microsoft Foundation Classes) biblioteką, galite sukurti bet kokią programą, jei turite įgūdžių, žinių, įgūdžių ir laiko. Nepaisant to, su jo pagalba nėra dažnai kuriamos programos su sudėtinga vartotojo sąsaja (pavyzdžiui, naudojančios duomenų bazes) (nors jos naudojimo pavyzdžių galima rasti net rusų literatūroje). Iš esmės šis produktas naudojamas kuriant kliento aplikacijas, kai joms keliami ypatingi reikalavimai, tokie kaip didelis našumas, galimybė atlikti bet kokias nestandartines operacijas ir pan.
Antroji kategorija apima kūrimo įrankius su pažangiais vaizdiniais įrankiais, kurie leidžia tiesiogine prasme „nupiešti“ vartotojo sąsają, iš dalies panaikinant programuotojo ir vartotojo darbo skirtumus ir sumažinant galutinio produkto kainą, pritraukiant kūrėjus, kurie nėra aukščiausia sąsajos dizaino kvalifikacija (jei atidžiai išstudijavote kursų programas mokymo centruose, kurių specializacija yra Microsoft, Borland ir Sybase kūrimo įrankių mokymas, galite pastebėti, kad mokymo kurso trukmė, išklausius tipišką Windows vartotojas turi išmokti kurti kliento programas serverio DBVS, yra nuo 5 iki 10 darbo dienų).
Būtent šios kategorijos kūrimo įrankiai dažniausiai naudojami kuriant kliento programas. Populiariausi šios klasės produktai apima Microsoft Visual Basic, Borland Delphi , Sybase PowerBuilder ir Borland C++Builder. Tokių produktų kūrimo aplinkos yra labai panašios išvaizdos (iki langų vietos ekrane, kuri nustatyta „pagal numatytuosius nustatymus“): paprastai tokio produkto kūrimo aplinkoje yra suprojektuoto produkto „tuščia“. forma (analogiška langui), atskiras skydelis su vartotojo sąsajos elementų ir kitų programoje naudojamų objektų piktogramomis, kurias galima pasirinkti ir įdėti į formą, langą, kuriame pateikiamos vieno iš formoje pasirinktų elementų savybės. rodomas ir redaguojamas (o kartais ir įvykių, į kuriuos reaguoja šis elementas, sąrašas), kodo rengyklės langas, kuriame galite įvesti kodo fragmentus , susietus su tam tikrų įvykių apdorojimu, taip pat kodą, įgyvendinantį šios programos logiką. Paprastai šiuolaikiniai šios klasės kūrimo įrankiai leidžia kurti pačias paprasčiausias duomenų redagavimo programas su nedideliu kodu arba jo visai nėra.
Pastaruoju metu taip pat labai populiaru kurti programas, kurios naudoja prieigą prie duomenų bazės, bet yra įprastų dokumentų viduje. Tokių programų kūrimo įrankiai yra pagrįsti atitinkamų redaktorių makrokomandomis. Tipiškiausias ir praktiškai vienintelis populiarus šios kategorijos kūrimo įrankių atstovas yra Visual Basic for Applications, kuris yra panašus į aukščiau išvardintus vizualinio kūrimo įrankius ir skiriasi nuo jų tuo, kad su juo sukurtos programos yra Microsoft Office dokumentuose ir yra neatsiskyrę nuo jų.
Tačiau atkreipkite dėmesį, kad aukščiau pateiktas kūrimo įrankių skirstymas į šias dvi klases yra gana sąlyginis. Kaip minėjome aukščiau, beveik visi duomenų bazių programų kūrimo įrankiai, įskaitant tuos, kurie orientuoti į konkrečias DBVS, palaiko bent vieną iš universalių duomenų prieigos mechanizmų. Ir beveik visi „universalūs“ programų kūrimo įrankiai, jei jie priklauso bet kurio serverio DBVS gamintojui, palaiko „jų“ DBVS geriau nei trečiųjų šalių DBVS (tai gali būti išreikšta, pavyzdžiui, specialių klasių bibliotekose ar komponentais, skirtais prieigai prie šios sistemos). serveryje, taip pat esant bendroms objektų ir duomenų modelių saugykloms, o kartais ir duomenų prieigos parametrų ar duomenų schemų redaktoriams, bendriems su serverio DBVS kliento dalimi)
Programų, naudojančių duomenų bazes, klasifikacija
Programos kliento-serverio architektūroje
Ankstesniuose šios serijos straipsniuose jau kalbėjome apie tai, kas yra „kliento-serverio“ architektūra tradicine prasme. Todėl tik trumpai priminsime, kad pagal šią architektūrą sukurtos informacinės sistemos yra duomenų bazės serveris, kuris manipuliuoja duomenimis, ir kliento programa, kuri prie jų pasiekia ir naudoja kliento API (arba klases ir komponentus, kurie apima jų skambučius), arba vieną iš universalių duomenų. prieigos mechanizmai. Paprastai, naudojant tokią taikomųjų programų architektūrą, duomenų bazės serveris taip pat yra atsakingas už verslo taisyklių, įgyvendinamų saugomų procedūrų, trigerių, serverio apribojimų ir kitų duomenų bazės objektų, vykdymą.
Šiuo atveju kliento programoms kurti dažniausiai naudojami kūrimo įrankiai su pažangiais vaizdiniais įrankiais, tokiais kaip Microsoft Visual Basic, Borland Delphi, Sybase PowerBuilder, Borland C++Builder.
Tačiau atkreipkite dėmesį, kad šiuolaikinių taikomųjų programų architektūrų pasirinkimas šiuo metu yra gana platus ir neapsiriboja „klasikine“ kliento-serverio architektūra, o tai reiškia, kad programą sudaro duomenų bazės serveris ir su šiuo serveriu sąveikaujančios kliento programos. Todėl toliau aptarsime, kokias kūrimo priemones patogu naudoti kuriant paskirstytas programas.
Paskirstytos programos
Paskirstytas (arba kelių pakopų) programas paprastai sudaro pristatymo paslaugos (arba „ploni“ klientai, su kuriais paprastai sąveikauja galutiniai vartotojai), verslo logikos paslaugos, įgyvendinamos kaip verslo objektai (arba vidutinės pakopos paslaugos; dažnai apibūdinti tokių paslaugų rinkinys yra vadinamas tarpinė programinė įranga) ir duomenų paslaugos (dažniausiai sudarytos iš duomenų bazės serverio ir duomenų prieigos mechanizmų). Verslo logikos paslaugos skirtos gauti vartotojo įvestį iš pristatymo paslaugų, sąveikauti su duomenų tarnybomis verslo operacijoms atlikti (pvz., užsakymų apdorojimas ar balanso skaičiavimas) ir grąžinti šių operacijų rezultatus pristatymo tarnyboms.
Skirtingai nuo įprastų kliento-serverio programų, kelių pakopų sistemose plonieji klientai paprastai neturi tiesioginės prieigos prie duomenų. Vietoj to klientai siunčia užklausas verslo objektams, specialiai sukurtiems šiam tikslui. Jie savo ruožtu gali atlikti verslo operacijas, kurių reikalauja klientas (pvz., apdoroti pavedimą, atlikti bankinę operaciją ir pan.).
Kai kurie verslo objektai gali pasiekti duomenų paslaugas naudodami tam tikrą duomenų prieigos mechanizmą. Kadangi galutinis vartotojas tiesiogiai su verslo objektais nesąveikauja, pastarieji paprastai neturi vartotojo sąsajos įprasta prasme. Fiziškai verslo objektai gali būti diegiami kaip operacinės sistemos paslaugos, konsolinės programos ar Windows aplikacijos, taip pat bibliotekos, įkeliamos į specialiai tam skirtos serverio programos adresų erdvę (žiniatinklio serveris, programų serveris, transakcijų monitorius ir kt.). ). Neretai vienas verslo subjektas aptarnauja daug klientų.
Verslo objektams kurti naudojami tiek kūrimo įrankiai su pažangiais vaizdiniais įrankiais, tiek kūrimo įrankiai, orientuoti į „rankinį“ programos kodo kūrimą (pvz., Visual C ++). Atkreipkite dėmesį, kad naujausios beveik visų populiariausių Windows programų kūrimo įrankių (Microsoft Visual Basic, Visual FoxPro ir Visual C++, Borland Delphi ir C++Builder, Sybase PowerBuilder) versijos palaiko įvairių tipų verslo objektų (žiniatinklio programų, ASP- objektai, COM serveriai ir tt), išskyrus Microsoft Access – šis produktas labiau skirtas kvalifikuotiems vartotojams, o ne paskirstytų sistemų kūrėjams. Dažnai šiam tikslui naudojami ir Java programų kūrimo įrankiai (pvz., Borland JBuilder).
Atkreipkite dėmesį, kad be aukščiau minėtų „universalių“ įrankių, skirtų kurti programas „kliento-serverio“ architektūroje ir verslo objektus paskirstytoms sistemoms, kūrimo įrankių rinkoje taip pat yra specializuotų įrankių, skirtų specialiai verslo objektams kurti ( paprastai , žiniatinklio programos). Iš šios klasės kūrimo įrankių, skirtų „Windows“ platformai, populiariausia yra „Microsoft Visual InterDev“, kurios pirmoji versija pasirodė 1998 m. Galima paminėti ir dar vieną įdomų produktą, priklausantį tai pačiai kūrimo priemonių kategorijai – Borland IntraBuilder, pasirodžiusį dvejais metais anksčiau, tačiau kažkodėl, nepaisant augančio šios klasės produktų poreikio, tolesnio tobulinimo jis nesulaukė. Šios klasės kūrimo įrankiai, kaip taisyklė, leidžia kurti programas, kurios dinamiškai generuoja HTML kodą arba kodą viena iš skriptų kalbų (VBScript arba JavaScript), kurią žiniatinklio serveris perduoda į vartotojo naršyklę kaip dalį tinklalapį ir priimti duomenis, kuriuos vartotojas įvedė HTML forma ir perduoda naršyklės žiniatinklio serveriui.
Išvada
Šiame straipsnyje aptarėme duomenų bazes naudojančių programų kūrimo procesą, taip pat įvairias jų kūrimui naudojamų įrankių kategorijas. Matėme, kad kūrimo įrankius galima sąlygiškai suskirstyti, viena vertus, į įrankius, skirtus naudoti konkrečius DBVS, įrankius, kurie yra universalūs DBVS atžvilgiu, ir darbalaukio DBVS aplinkas, naudojamas programoms kurti. Kita vertus, juos galima suskirstyti į įrankius, orientuotus į vizualinės vartotojo sąsajos dizainą (ši kategorija apima „Microsoft Visual Basic“, „Borland Delphi“, „Sybase PowerBuilder“, „Borland C++Builder“) ir į įrankius, skirtus programos kodo rašymui („Visual C++“).
Peržiūrėję kai kuriuos populiariausius programų kūrimo įrankius, nustatėme, kad dauguma šių produktų, kaip taisyklė, palaiko:
- bent vienas universalus duomenų prieigos mechanizmas, leidžiantis kurti duomenis iš įvairių DBVS;
- kelių tipų paskirstytų programų kūrimas;
- automatinis programos kodo generavimas pagal modelius, sukurtus naudojant populiariausius duomenų projektavimo ir verslo procesų modeliavimo įrankius.
Taip pat aptarėme, kuo kliento-serverio programos skiriasi nuo paskirstytų sistemų ir kokias kūrimo priemones galima naudoti kuriant abiejų tipų programas.
Informacinės sistemos gyvavimo ciklas nesibaigia programų kūrimu. Sukūrus, jie turėtų būti išbandyti, įdiegti, apmokyti juos naudoti ir galiausiai naudojami kelerius metus. Dėl tokio išnaudojimo kaupiami duomenys, kurie, kaip taisyklė, yra daug vertingesni nei pačios programos. Šie duomenys dažnai yra medžiaga, reikalinga svarbiems valdymo sprendimams priimti, todėl svarbu sugebėti juos konvertuoti į tokiam tikslui tinkamą formą. Tam yra su Business Intelligence kategorija susiję įrankiai – ataskaitų generatoriai, analitinio duomenų apdorojimo ir šablonų paieškos įrankiai. Apie juos kalbėsime kitame šios serijos straipsnyje.
Makefile atsiradimas gali būti laikomas pirmuoju žingsniu kuriant programavimo sistemas. Makefile kalba tapo standartiniu įrankiu, įprastu visų kūrėjų kompiliatoriams. Tai buvo patogus, bet gana sudėtingas techninis įrankis, kuriam reikėjo aukšto lygio kūrėjo mokymo ir profesinių žinių, nes pati Makefile komandų kalba savo sudėtingumu buvo panaši į paprastą programavimo kalbą.
Tokia kūrimo įrankių struktūra egzistuoja gana seniai, o kai kuriais atvejais naudojama ir šiandien (ypač kuriant sistemines programas). Platus jo naudojimas buvo susijęs su tuo, kad visa ši kūrimo įrankių struktūra pati savaime buvo labai patogi programų paketiniam vykdymui kompiuteryje, o tai prisidėjo prie jos plataus naudojimo pagrindinio kompiuterio eroje. Operacinės sistemos Unix tipo.
4.5. Integruotos plėtros aplinkos
- Visual Studio 97 yra pirmoji išleista Visual Studio versija. Ji pirmą kartą sujungė įvairius programinės įrangos kūrimo įrankius. Sistema buvo išleista dviem versijomis: Professional ir Enterprise. Ją apėmė „Visual Basic 5.0“, „Visual C++ 5.0“, „Visual J++ 1.1“, „Visual FoxPro 5.0“ ir pirmoji ASP kūrimo aplinka „Visual InterDev“. Visual Studio 97 buvo pirmasis Microsoft bandymas sukurti vieningą kūrimo aplinką kelioms programavimo kalboms: Visual C++, Visual J++, Visual InterDev ir MSDN naudojo vieną aplinką, vadinamą Developer Studio. „Visual Basic“ ir „Visual FoxPro“ naudojo atskiras kūrimo aplinkas.
- Visual Studio 6.0 buvo išleista 1998 m. birželio mėn Naujausia versija Visual Studio veikia Win9x platformoje. Vis dar populiarus tarp programuotojų, naudojančių Visual Basic. Ši versija buvo pagrindinė Microsoft Windows programų kūrimo aplinka prieš atsirandant .NET platformai.
- Visual Studio .NET (kodiniu pavadinimu Rainier; vidinė versija 7.0), išleista 2002 m. vasario mėn. (apima .NET Framework 1.0). 1 pakeitimų paketas, skirtas Visual Studio .NET (2002), išleistas 2005 m. kovo mėn
- Visual Studio .NET 2003 (kodinis pavadinimas Everett; vidinė versija 7.1) buvo išleista 2003 m. balandžio mėn. (apima .NET Framework 1.1). 1 pakeitimų paketas, skirtas Visual Studio .NET 2003, buvo išleistas 2006 m. rugsėjo 13 d.
- Visual Studio 2005 (kodiniu pavadinimu Whidbey; vidinė versija 8.0) buvo išleista 2005 m. spalio pabaigoje, paskutinė oficialiai paleista sistemoje Windows 2000 (apima .NET Framework 2.0). 2005 m. lapkričio mėn. pradžioje taip pat buvo išleista Express leidimo produktų serija: Visual C++ 2005 Express, Visual Basic 2005 Express, Visual C# 2005 Express ir kt. 2006 m. balandžio 19 d. Express leidimas tapo nemokamas. VS2005 ir visų Express leidimų 1 pakeitimų paketas buvo išleistas 2006 m. gruodžio 14 d. 2007 m. kovo 6 d. buvo išleista papildoma SP1 pataisa, kuri išsprendžia suderinamumo su Windows Vista problemą.
- Visual Studio 2008 (kodiniu pavadinimu Orcas) buvo išleista 2007 m. lapkričio 19 d. kartu su .NET Framework 3.5. Skirta kurti programas, skirtas Windows Vista (bet taip pat palaiko XP), Office 2007 ir žiniatinklio programas. Apima LINQ, naujas C# versijas ir Visual Basic. Studijoje nebuvo „Visual J#“. Nuo 2008 m. spalio 28 d. pirmą kartą pasirodė versija rusų kalba.
- Visual Studio 2010 (kodinis pavadinimas Hawaii, Ultimate Rosario) buvo išleistas 2010 m. balandžio 12 d. su .NET Framework 4.0. „Visual Studio“ palaiko C# 4.0 ir Visual Basic .NET 10.0, taip pat F#, kurios ankstesnėse versijose nebuvo.
Visual Studio 2010 leidžia efektyviai sukurti sudėtingas programas per trumpą laiką. Šios aplinkos modelis yra daug turtingesnis nei ankstesnės versijos ir naudoja tokias sąvokas kaip sprendimas (sprendimas), projektas, vardų erdvė (pavadinimų erdvė) ir surinkimas (surinkimas). Projekto koncepcija yra daugelyje aplinkų, pavyzdžiui, „Delphi“. Projekto faile yra šaltinio failų ir kitų išteklių, iš kurių sistema sukurs programą, sąrašas. „Visual Studio“ sprendimą sudaro keli projektai, kurie gali būti vienas nuo kito priklausomi arba nepriklausomi. išsiskiria pradėti projektą. Asamblėjos sąvoka kilusi iš bendrosios kalbos vykdymo laiko (CLR). Bendrosios kalbos vykdymo laikas (CLR) yra revoliucingiausias išradimas, kuriam atsiradus programų rašymo ir paleidimo procesas iš esmės skiriasi.
Kompiliatorius konvertuoja šaltinio failus į kodus tarpinė kalba MSIL ( „Microsoft“ vidutinė kalba). Kartu su metaduomenimis šie kodai įrašo PE failus (Portal Executable), kurių plėtinys yra .exe arba .dll, atsižvelgiant į projekto tipą. Taip pat galima gauti modulį su netmodule plėtiniu, kuriame nėra metaduomenų.
Iš viso yra 12 projektų tipų. Kai įkeliami, PE failai „skraidydami“ išverčiami į instrukcijas, skirtas tikram procesoriui. Sistema. NET, kuris paleidžia programas, nėra „Visual Studio“ dalis, bet yra operacinės sistemos viršuje esantis nustatymas. Tai analogiška Java virtualiajai mašinai.
Agregatas yra mažiausias programoms diegti skirtas įrenginys. Kiekvienam surinkimo tipui būdingas unikalus identifikatorius, identifikuojamas pagal autoriaus skaitmeninį parašą ir unikalų versijos numerį. Yra toks ryšys tarp rinkinių ir vardų erdvių. Surinkime gali būti kelios vardų erdvės. Tuo pačiu metu vardų erdvė gali apimti kelis mazgus. Surinkimas gali apimti vieną ar daugiau failų, kurie yra sujungti į vadinamąjį manifestą arba surinkimo aprašą.
C# kalbos lygiu vardų erdvės, kaip ir Java paketai, yra naudojamos projektui struktūrizuoti. Vardų erdvė apima vieną ar daugiau klasių. Viename šaltinio faile gali būti apibrėžtos kelios vardų erdvės, o tuo pačiu metu viena vardų sritis gali būti apibrėžta keliuose failuose. Ir net klasė gali būti keliuose failuose (dalinėse klasėse).
Pradedantiesiems programuotojams tokia galimybių gausa gali sukelti nemažų sunkumų. Aplinkos mastą ir sudėtingumą galima įvertinti pagal šią lyginamąją trijų aplinkų lentelę.
Atrodo įdomu ir daug žadanti darbo aplinka Eclipse, sukurta IBM. Pradinis projekto tikslas buvo sukurti įmonės IDE standartą, skirtą programoms kurti įvairiomis kalbomis skirtingoms platformoms. Tada projektas buvo pervadintas į Eclipse ir tapo prieinamas visuomenei. Licencija leidžia nemokamai naudotis kodu ir kūrimo aplinka bei tuo pačiu kurti uždarus komercinius produktus. Dėl šios priežasties sistema tapo plačiai paplitusi ir tapo daugelio organizacijų taikomųjų programų kūrimo standartu.
Eclipse ekosistema yra konsoliduota technologija, o 2007 m. buvo plačiai pritaikyti. Sistema įdiegta Java kalba ir iš pradžių buvo visavertė integruota Java kalbos aplinka. Ateityje bus palaikomos kitos kalbos. Pirmosios versijos buvo nepatogios, nes tikslinis produktas buvo priverstas įtraukti nereikalingas funkcijas. Pradedant nuo trečiosios versijos, buvo perkurta visos sistemos architektūra, siekiant maksimaliai padidinti modulių atskyrimą ir ryšį tarp jų. Tuo pačiu metu Eclipse moduliai, sudaryti iš nuoseklių klasių rinkinių, teikė ištisų posistemių funkcionalumą, pavyzdžiui, pagalbos posistemes, produktų atnaujinimus, mokymus, pristatymus, daugiakalbį palaikymą ir daugelį kitų. Kurdami programą, dabar galite palaipsniui padidinti funkcionalumą prijungdami paruoštus nemokamus komponentus. „Eclipse“ terminologijoje šie komponentai vadinami „įskiepiais“ arba „įskiepiais“ (įskiepiais). Ši technologija tampa įprasta pažangiose veiklos aplinkose. Šia technologija pagrįsta platforma vadinama
Integruota kūrimo aplinka (IDE) yra programinės įrangos įrankių sistema, kurią programuotojai naudoja programinei įrangai kurti. AT Anglų kalba tokia aplinka vadinama Integrated Development Environment arba sutrumpintai IDE.
IDE paprastai apima teksto rengyklę, kompiliatorių, vertėją, programinės įrangos kūrimo ir kūrimo automatizavimo įrankius bei derinimo priemonę. Kartais taip pat yra įrankių, skirtų integracijai su versijų valdymo sistemomis ir įvairiais įrankiais, kurie supaprastina grafinės vartotojo sąsajos kūrimą. Daugelyje šiuolaikinių kūrimo aplinkų taip pat yra programos klasės naršyklė, objektų inspektorius ir klasės hierarchijos diagrama, skirta naudoti kuriant objektinę programinę įrangą. Dauguma šiuolaikinių IDE yra skirti kurti programas keliomis programavimo kalbomis vienu metu.
Vienas iš ypatingų IDE atvejų yra vizualinės kūrimo aplinkos, apimančios galimybę vizualiai redaguoti programos sąsają.
Pagrindinis langas yra teksto rengyklė, naudojama šaltinio kodui įvesti į IDE ir skirta darbui su simbolių sekomis tekstiniuose failuose. Tokie redaktoriai suteikia pažangias funkcijas – sintaksės paryškinimą, eilučių rūšiavimą, šablonus, kodavimo konvertavimą, simbolių kodų rodymą ir tt Jie kartais vadinami kodų redaktoriais, nes jų pagrindinė paskirtis yra rašyti kompiuterinių programų šaltinio kodus.
Sintaksės paryškinimas – sintaksinių teksto konstrukcijų paryškinimas naudojant skirtingas spalvas, šriftus ir stilius. Paprastai naudojamas teksto rengyklėse, kad būtų lengviau skaityti šaltinio tekstą, pagerinti regimąjį suvokimą. Dažnai naudojamas publikuojant šaltinio kodus internete.
Vertimo, kompiliatoriaus ir vertėjo samprata buvo pateikta ankstesnėse paskaitose.
Viena iš svarbiausių IDE dalių yra derinimo priemonė, kuri yra kūrimo aplinkos modulis arba atskira programa, skirta programos klaidoms rasti. Derintuvas leidžia pereiti per sekimą, stebėti, nustatyti arba keisti kintamųjų reikšmes programos vykdymo metu, nustatyti ir pašalinti lūžio taškus ar trūkio sąlygas ir pan.
Dažniausiai pasitaikantys derintuvai yra šie:
- GNU Debugger – programos derinimo priemonė iš GNU projekto;
- IDA yra Windows ir GNU/Linux operacinėms sistemoms skirta išmontavimo priemonė ir žemo lygio derinimo priemonė;
- „Microsoft Visual Studio“ yra programinės įrangos kūrimo aplinka, apimanti „Microsoft Corporation“ derinimo įrankius;
- OllyDbg yra nemokama žemo lygio derinimo priemonė, skirta Windows šeimos operacinėms sistemoms;
- SoftICE yra žemo lygio derinimo priemonė, skirta Windows šeimos operacinėms sistemoms;
- Dr. Watson – standartinis „Windows“ derintuvas, leidžiantis kurti atminties išklotines;
- „WinDbg“ yra nemokama „Microsoft“ derinimo priemonė.
Pagrindinis derinimo procesas yra sekimas. Sekimas yra programos vykdymo žingsnis po žingsnio procesas. Sekimo režimu programuotojas mato komandų vykdymo seką ir kintamųjų reikšmes tam tikrame programos vykdymo etape, todėl lengviau aptikti klaidas. Sekimas gali būti pradėtas ir baigiamas bet kurioje programos vietoje, programos vykdymas gali sustoti ties kiekviena komanda ar lūžio taškais, sekimas gali būti atliekamas įvedant procedūras/funkcijas arba be jų.
Svarbiausias ISW modulis bendrai plėtojant vidutinio ir didelio sudėtingumo projektus yra versijų valdymo sistema. Versijų valdymo sistema (angl. santrumpa CVS) – programinė įranga, palengvinanti darbą su besikeičiančia informacija. Tai leidžia jums išsaugoti kelias to paties dokumento versijas, jei reikia, grįžti prie ankstesnių versijų, nustatyti, kas ir kada padarė tą ar kitą pakeitimą, ir daug daugiau.
Tokios sistemos plačiausiai naudojamos programinės įrangos kūrime, kuriamos programos šaltinio kodams saugoti. Tačiau jie gali būti sėkmingai taikomi ir kitose srityse, kuriose dirbama su daugybe nuolat kintančių elektroninių dokumentų, visų pirma, jie vis dažniau naudojami CAD, dažniausiai kaip produkto duomenų valdymo sistemų dalis. Versijų kūrimas naudojamas įvairių įrenginių ir sistemų konfigūracijos valdymo įrankiuose.
Mūsų šalyje galbūt dėl nedidelio didelio masto projektų skaičiaus versijų valdymo sistemos nebuvo išplatintos, nepaisant to, kad jų naudojimas yra raktas į sėkmingą didelių projektų įgyvendinimą. Šiuo atžvilgiu pakalbėkime išsamiau apie šią ISR galimybę.
Dauguma versijų valdymo sistemų naudoja centralizuotą modelį, kai yra viena dokumentų saugykla, valdoma specialiu serveriu, kuris atlieka daugumą versijų valdymo funkcijų. Vartotojas, dirbantis su dokumentais, pirmiausia turi gauti sau reikalingą dokumento versiją iš saugyklos; dažniausiai sukuriama vietinė dokumento kopija, vadinamoji „darbinė kopija“. Galima gauti naujausią arba bet kurią iš ankstesnių versijų, parenkamų pagal versijos numerį arba sukūrimo datą, kartais pagal kitus kriterijus. Atlikus norimus dokumento pakeitimus, nauja versija patalpinama į saugyklą. Priešingai nei tiesiog išsaugant failą, ankstesnė versija nėra ištrinta, bet taip pat lieka saugykloje ir gali būti bet kada iš ten nuskaityta. Serveris gali naudoti delta glaudinimą – dokumentų saugojimo būdą, kuris išsaugo tik pakeitimus tarp nuoseklių versijų ir taip sumažina saugomų duomenų kiekį.
Kartais naujos versijos kūrimas atliekamas vartotojui nepastebimai (skaidriai) – arba naudojant taikomąją programą, kuri turi įmontuotą tokios funkcijos palaikymą, arba naudojant specialią failų sistemą. Pastaruoju atveju vartotojas tiesiog dirba su failu kaip įprastai, o failą išsaugojus automatiškai sukuriama nauja versija.
Dažnai atsitinka taip, kad prie to paties projekto vienu metu dirba keli žmonės. Jei du žmonės modifikuoja tą patį failą, vienas iš jų gali netyčia anuliuoti kito padarytus pakeitimus. Versijų valdymo sistemos stebi tokius konfliktus ir siūlo įrankius jiems išspręsti. Dauguma sistemų gali automatiškai sujungti (sujungti) skirtingų kūrėjų atliktus pakeitimus. Tačiau toks automatinis pakeitimų sujungimas dažniausiai galimas tik tekstiniams failams, o tada tik su sąlyga, kad buvo pakeistos skirtingos (nepersidengiančios) šio failo dalys. Šis apribojimas atsiranda dėl to, kad dauguma versijų valdymo sistemų yra orientuotos į programinės įrangos kūrimo proceso palaikymą, o programų šaltinio kodai yra saugomi tekstiniuose failuose. Jei automatinis sujungimas nepavyksta, sistema gali pasiūlyti problemą išspręsti rankiniu būdu.
Dažnai neįmanoma sujungti nei automatiškai, nei rankiniu būdu, pavyzdžiui, jei failo formatas yra per sudėtingas arba visiškai nežinomas. Kai kurios versijų valdymo sistemos suteikia galimybę užrakinti failą saugykloje. Užraktas neleidžia kitiems vartotojams gauti darbinės kopijos arba modifikuoti darbinę failo kopiją (pavyzdžiui, naudojant failų sistemą), taigi suteikia išskirtinę prieigą tik vartotojui, kuris dirba su dokumentu.
Kitos versijos valdymo sistemos funkcijos yra šios:
Kuriant skirtingas to paties šakos dokumento versijas, turinčias bendrą pakeitimų istoriją prieš šakos tašką ir su skirtingais po jo.
Pakeitimų žurnalo vedimas, kuriame vartotojai gali rašyti paaiškinimus, ką ir kodėl pakeitė šioje versijoje;
Valdo vartotojo prieigos teises, leidžia arba neleidžia skaityti arba keisti duomenis, priklausomai nuo to, kas prašo šio veiksmo.
Paskirstytos versijų valdymo sistemos yra atskira klasė. Tokios sistemos naudoja paskirstytą modelį, o ne tradicinį kliento-serverio modelį. Apskritai jiems nereikia centralizuotos saugyklos: visa dokumentų pakeitimų istorija yra saugoma kiekviename kompiuteryje vietinėje saugykloje, o prireikus atskiri vietinės saugyklos istorijos fragmentai sinchronizuojami su panašia saugykla kitame kompiuteryje. Kai kuriose iš šių sistemų vietinė saugykla yra tiesiogiai darbo kopijų kataloguose.
Kai tokios sistemos vartotojas atlieka įprastus veiksmus, pavyzdžiui, patikrina tam tikrą dokumento versiją, sukuria naują versiją ir pan., jis dirba su savo vietine saugyklos kopija. Atliekant pakeitimus, skirtingiems kūrėjams priklausančios saugyklos pradeda skirtis, todėl jas reikia sinchronizuoti. Toks sinchronizavimas gali būti atliekamas keičiantis pataisomis arba vadinamaisiais pakeitimų rinkiniais tarp vartotojų.
Pagrindinis paskirstytų sistemų privalumas yra jų lankstumas. Kiekvienas kūrėjas gali dirbti savarankiškai, kaip jam atrodo tinkama, išsaugodamas tarpines dokumentų versijas ir perduodamas rezultatus kitiems dalyviams, kai jam atrodo tinkama. Tokiu atveju pakeitimų rinkinių keitimas gali būti atliekamas pagal įvairias schemas. Mažose komandose darbo dalyviai gali dalytis pakeitimais vienas su vienu, todėl nebereikia dedikuoto serverio. Didelė bendruomenė, atvirkščiai, gali naudoti centralizuotą serverį, su kuriuo sinchronizuojamos visų jos narių kopijos. Galimi ir sudėtingesni variantai, pavyzdžiui, sukuriant grupes, kurios dirbtų atskirose didesnio projekto srityse.
Norėdami naudoti versijų valdymo sistemas, turite žinoti šių sistemų terminologiją. Nėra visuotinai priimtos terminijos; skirtingos sistemos gali naudoti skirtingus pavadinimus tiems patiems veiksmams.
Žemiau yra keletas dažniausiai naudojamų parinkčių. Dėl to, kad sistemas kūrė anglakalbių bendruomenė, o rusakalbių terminų dar nesukurta, vartojami angliški terminai.
šaka (šaka) – vystymosi kryptis, nepriklausoma nuo kitų. Filialas yra saugyklos dalies (paprastai vieno katalogo) kopija, kurioje galite atlikti savo pakeitimus, nepaveikdami kitų šakų. Skirtingų šakų dokumentai turi tą pačią istoriją prieš šakos tašką ir skirtingą istoriją po jo.
registracija, įsipareigojimas, pateikimas – naujos versijos kūrimas, pakeitimų paskelbimas. Darbinėje kopijoje padarytų pakeitimų perkėlimas į dokumentų saugyklą. Tuo pačiu metu saugykloje sukuriama nauja modifikuotų dokumentų versija.
C heck-out, clone – paimkite dokumentą iš saugyklos ir sukurkite darbinę kopiją.
C onflict – konfliktinė situacija, kai keli vartotojai atliko pakeitimus toje pačioje dokumento dalyje. Konfliktas aptinkamas, kai vienas vartotojas jau paskelbė savo pakeitimus, o antrasis tik bando juos paskelbti, o pati sistema negali teisingai sujungti nesuderinamų pakeitimų. Kadangi programa gali būti nepakankamai protinga, kad nustatytų, kuris pakeitimas yra „teisingas“, antrasis vartotojas turi pats išspręsti konfliktą (išspręsti).
M erge, integracija (sujungimas) – nepriklausomų pakeitimų sujungimas į vieną dokumento versiją. Tai atsitiko, kai du žmonės pakeitė tą patį failą arba perkeliant pakeitimus iš vienos šakos į kitą.
R saugykla (dokumentų saugykla) – vieta, kurioje versijų valdymo sistema saugo visus dokumentus kartu su jų pakeitimų istorija ir kita paslaugų informacija.
R leidimas (dokumento versija). Versijų valdymo sistemos išskiria versijas pagal numerius, kurie priskiriami automatiškai.
T ag, etiketė (etiketė) – kurią galima priskirti konkrečiai dokumento versijai. Etiketė yra simbolinis dokumentų grupės pavadinimas, apibūdinantis ne tik failų pavadinimų rinkinį, bet ir kiekvienos bylos peržiūrą. Į etiketę įtrauktų dokumentų pataisymai gali priklausyti skirtingiems laiko momentams.
T bagažinė, pagrindinė linija (bagžinė) - pagrindinė projekto vystymo šaka. Magistralinė politika kiekvienam projektui gali skirtis, tačiau apskritai ji yra tokia: dauguma pakeitimų atliekama magistralėje; Jeigu nori esminis pokytis, dėl ko gali atsirasti nestabilumas, atsiranda šaka, kuri susilieja su kamienu, kai naujovė pakankamai išbandyta; prieš išleidžiant kitą versiją, sukuriama „išleidimo“ šaka, kurioje atliekami tik pataisymai.
U pdate, sync (atnaujinti, sinchronizuoti) – darbinės kopijos sinchronizavimas su tam tikra nurodyta saugojimo būsena. Dažniausiai šis veiksmas reiškia darbinės kopijos atnaujinimą į naujausią saugyklos būseną. Tačiau, jei reikia, darbinę kopiją galite sinchronizuoti su senesne būsena nei dabartinė.
W darbo kopija (darbinė kopija) - darbo (vietinė) dokumentų kopija.
Apsvarstykite ISR galimybes, kaip pavyzdį naudodami prieinamiausias ir populiariausias versijas.
Eclipse (iš anglų kalbos eclipse) yra nemokama integruota modulinių kelių platformų programų kūrimo aplinka (69 pav.). Sukūrė ir prižiūri ne pelno siekiantis „Eclipse Foundation“ (http://www.eclipse.org/).
Iš pradžių „Eclipse“ sukūrė IBM kaip įmonės IDE standartą, skirtą šios įmonės platformoms kurti įvairiomis kalbomis. IBM teigimu, projektavimas ir kūrimas kainavo 40 milijonų JAV dolerių. Šaltinio kodas buvo visiškai atviro kodo ir buvo prieinamas po to, kai „Eclipse“ buvo perduota nuo IBM nepriklausomai bendruomenei tolimesniam vystymui.
„Eclipse“ yra pagrįsta OSGi sistema ir SWT / JFace, kurios pagrindu kuriamas kitas sluoksnis - RCP (Rich Client Platform, platforma visavertėms kliento programoms kurti). RCP yra ne tik „Eclipse“, bet ir kitų RCP programų, tokių kaip „Azureus“ ir „File Arranger“, pagrindas. Kitas sluoksnis yra pats „Eclipse“, kuris yra RCP plėtinių rinkinys: redaktoriai, skydeliai, perspektyvos, CVS modulis ir „Java Development Tools“ (JDT) modulis.
„Eclipse“ visų pirma yra visavertis Java IDE, skirtas grupės plėtrai: CVS palaikymas įtrauktas į „Eclipse“ pristatymą, aktyviai kuriami keli SVN modulių variantai, palaikoma VSS ir kt. Dėl nemokamos ir aukštos kokybės „Eclipse“ yra daugelio organizacijų taikomųjų programų kūrimo standartas.
Antrasis „Eclipse“ tikslas yra tarnauti kaip naujų plėtinių kūrimo platforma, dėl kurios ji išpopuliarėjo: bet kuris kūrėjas gali išplėsti „Eclipse“ savo moduliais. Jau yra C/C++ Development Tools (CDT), kurias QNX inžinieriai kuria bendradarbiaudami su IBM, ir įvairių kūrėjų įrankiai COBOL, FORTRAN, PHP ir kt. Daugelis plėtinių papildo „Eclipse“ aplinką su tvarkytojais, skirtais dirbti su duomenų bazėmis, programų serveriais ir kt.
69 pav . Eclipse pagrindinio lango sąsaja
„Eclipse“ yra parašyta „Java“, todėl tai yra nuo platformos nepriklausomas produktas, išskyrus SWT biblioteką, kuri yra sukurta visoms įprastoms platformoms. SWT biblioteka naudojama vietoj standartinės Java Swing bibliotekos. Ji visiškai priklauso nuo pagrindinės platformos (operacinės sistemos), kad vartotojo sąsaja būtų jautri ir natūraliai atrodanti, tačiau kartais kyla suderinamumo ir programų stabilumo problemų įvairiose platformose.
„Eclipse“ pagrindas yra turtingo kliento platforma (RCP). Jo komponentai:
OSGi (standartinė paketo pristatymo aplinka);
SWT (portable widget toolkit);
JFace (failų buferiai, teksto apdorojimas, teksto rengyklės);
Eclipse darbo aplinka (panelės, redaktoriai, projekcijos, vedliai).
Kitas populiarus nemokamas IDE yra KDevelop (http://www.kdevelop.org, 70 pav.). KDevelop yra nemokama programinės įrangos kūrimo aplinka, skirta UNIX tipo operacinėms sistemoms. Projektas prasidėjo 1998 m. KDevelop platinamas pagal GNU bendrąją viešąją licenciją.
70 pav. KDevelop sąsaja
KDevelop neapima kompiliatoriaus, o naudoja bet kurį kompiliatorių vykdomajam kodui generuoti.
Dabartinė stabili versija palaiko daugybę programavimo kalbų, tokių kaip Ada, Bash, C, C++, Fortran, Java, Pascal, Perl, PHP, Python, Ruby ir SQL.
KDevelop naudoja integruotą komponentą – teksto rengyklę – per KParts technologiją. Pagrindinė redaktorė yra Kate.
KDevelop funkcijos:
Pirminio kodo paryškinimas, atsižvelgiant į naudojamos programavimo kalbos sintaksę, kuri nustatoma automatiškai;
Projektų vadovas įvairių tipų projektams, tokiems kaip Automake, qmake projektams, paremtiems Qt technologijomis ir Ant projektams, pagrįstiems Java;
Klasės navigatorius (klasės naršyklė);
„GNU Compiler Collection“ sąsaja;
„GNU Debugger“ sąsaja
Klasių ir platformų apibrėžimų (karkaso) generavimo ir atnaujinimo pagalbininkai;
Automatinė kodo užbaigimo sistema (C/C++);
Integruotas šaltinio kodo dokumentavimo sistemos palaikymas (Doxygen);
Viena iš versijų valdymo sistemų: SCM, CVS, Subversion, Perforce ir ClearCase;
Greito atidarymo funkcija leidžia greitai naršyti failus.
KDevelop yra „prijungiama“ architektūra. Kai kūrėjas atlieka pakeitimus, jam tereikia sukompiliuoti papildinį. Galima išsaugoti profilius, nurodančius kokius įskiepius reikia įkelti. KDevelop Jame nėra integruoto teksto rengyklės, jis pateikiamas kaip papildinys. KDevelop nepriklauso nuo programavimo kalbos ir platformos, kurioje ji veikia, palaiko KDE, GNOME ir daugelį kitų technologijų (pavyzdžiui, Qt, GTK+ ir wxWidgets).
Integruotas derintuvas KDevelop leidžia grafiškai dirbti su visais derinimo įrankiais, pvz., lūžio taškais ir atsekimais. Jis taip pat gali veikti su dinamiškai įkeliamais papildiniais, skirtingai nei konsolės gdb.
Šiuo metu šiam IDE yra apie 50–100 papildinių. Naudingiausios yra nuolatinės viso projekto kodo žymės, kodo santrumpos, leidžiančios greitai išplėsti tekstą, šaltinio formatavimo priemonė, kuri iš naujo suformatuoja stiliaus vadovo tekstą prieš išsaugant, reguliariųjų posakių paieška ir viso projekto paieška / keitimas.
Paskutinis svarstomas ISR yra Microsoft Visual Studio („Microsoft Visual Studio“, 71 pav.). Iš tiesų, Microsoft Visual Studio yra „Microsoft“ produktų linija, apimanti integruotą programinės įrangos kūrimo aplinką ir daugybę kitų įrankių.
71 pav. „Microsoft Visual Studio“ sąsaja
Microsoft Visual Studio apima vieną ar daugiau iš šių: Visual Basic.NET, Visual C++, Visual C#, Visual F#, Microsoft SQL Server, Visual InterDev, Visual J++, Visual J#, Visual FoxPro, Visual Source Safe.
Vienas iš pagrindinių Microsoft Visual Studio privalumų yra aukšta kūrimo proceso dokumentacijos kokybė ir galimų problemų aprašymas MSDN bibliotekoje. Tačiau įdomiausia profesionalui dalis, skirta tobulėjimo subtilybėms, egzistuoja tik anglų kalba.
„Microsoft“ taip pat siūlo nemokamą „Visual Studio Express“ alternatyvą.
Plėtros aplinkos pasirinkimas
Integruota kūrimo aplinka, ISR (angl. IDE, Integrated development environment arba integral debugging environment) – tai programinės įrangos sistema, kurią programuotojai naudoja programinei įrangai (programinei įrangai) kurti.
Kūrimo aplinka apima:
teksto redaktorius;
Kompiliatorius ir/ar vertėjas;
Surinkimo automatizavimo įrankiai;
Derintuvas.
IDE kartais taip pat yra įrankių, skirtų integracijai su versijų valdymo sistemomis, ir įvairių įrankių, skirtų supaprastinti grafinės vartotojo sąsajos kūrimą. Daugelyje šiuolaikinių kūrimo aplinkų taip pat yra klasės naršyklė, objektų inspektorius ir klasės hierarchijos diagrama, skirta naudoti kuriant objektinę programinę įrangą. Nors yra IDE, naudojamų kelioms programavimo kalboms, tokioms kaip Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator arba Microsoft Visual Studio, IDE paprastai naudoja vieną konkrečią programavimo kalbą, pvz., Visual Basic, Delphi, Dev -C++.
Ypatingas ISR atvejis yra vizualinės kūrimo aplinkos, apimančios galimybę vizualiai redaguoti programos sąsają.
IDE buvo sukurti siekiant maksimaliai padidinti programuotojo produktyvumą per glaudžiai sujungtus komponentus su paprastomis vartotojo sąsajomis. Tai leis kūrėjui atlikti mažiau žingsnių perjungti skirtingus režimus, o ne atskiras kūrimo programas. Tačiau, kadangi IDE yra sudėtingas programinės įrangos paketas, tik po ilgo mokymosi proceso kūrimo aplinka galės paspartinti programinės įrangos kūrimo procesą.
IDE paprastai yra vienintelė programa, kurioje buvo atlikta visa plėtra. Paprastai jame yra daug funkcijų, skirtų programinei įrangai kurti, modifikuoti, kompiliuoti, diegti ir derinti. Kūrimo aplinkos tikslas yra abstrahuoti konfigūraciją, reikalingą komandų eilutės komunalinėms programoms sujungti į vieną modulį, o tai sumažins kalbos mokymosi laiką ir padidins kūrėjo produktyvumą. Taip pat manoma, kad sudėtingas kūrimo užduočių integravimas gali dar labiau pagerinti produktyvumą. Pavyzdžiui, IDE leidžia analizuoti kodą ir taip pateikti tiesioginį grįžtamąjį ryšį bei pranešti apie sintaksės klaidas. Nors dauguma šiuolaikinių IDE yra grafiniai, jie egzistuoja nuo tada, kai buvo langų sistemos (kurios įdiegtos Microsoft Windows arba X11 *nix sistemoms). Jie buvo pagrįsti tekstu, naudojant funkcinius klavišus arba sparčiuosius klavišus įvairioms užduotims atlikti (pvz., Turbo Pascal). IDE naudojimas programinės įrangos kūrimui yra visiškai priešingas tam, kaip naudojami nesusiję įrankiai, tokie kaip vi (teksto rengyklė), GCC (kompiliatorius) ir kt.
Šiuo metu yra keletas aplinkų, skirtų programoms kurti C # kalba, pagrindinės pateiktos 1.1 lentelėje.
1.1 lentelė – C# kūrimo aplinkų palyginimas
GPL licencija suteikia vartotojui teises kopijuoti, modifikuoti ir platinti (taip pat ir komerciškai) programas (tai pagal nutylėjimą draudžia autorių teisių įstatymas), taip pat garantuoja, kad visų išvestinių programų naudotojai gaus aukščiau nurodytas teises.
LGPL licencija leidžia programas pagal bet kokią licenciją, nesuderinamą su GNU GPL, susieti su šia biblioteka ar programa, jei tokia programa nėra kilusi iš objekto, platinamo pagal (L)GPL, išskyrus susiejimą. Pagrindinis skirtumas tarp GPL ir LGPL yra tas, kad pastarasis taip pat leidžia kitiems susieti su tam tikru objektu, kuris sukuria išvestinį konkretaus objekto kūrinį, jei susietų objektų licencija leidžia „modifikuoti vartotojui vidiniam naudojimui ir atvirkščiai. tokių modifikacijų derinimo inžinerija“. Tie. LGPL, skirtingai nei GPL, leidžia susieti biblioteką su bet kokia programa, nebūtinai nemokama.
Uždaroji (patentuota) programinė įranga (angl. Proprietary software) – programinė įranga, kuri yra privati autorių ar autorių teisių turėtojų nuosavybė ir neatitinka nemokamos programinės įrangos kriterijų (atvirojo kodo prieinamumo neužtenka). Patentuotos programinės įrangos savininkas išlaiko jos naudojimo, kopijavimo ir modifikavimo monopolį visais ar reikšmingais momentais. Patentuota programinė įranga įprasta vadinti bet kokią nelaisvą programinę įrangą, įskaitant pusiau laisvą programinę įrangą.
Geany yra nemokama programinės įrangos kūrimo aplinka, parašyta naudojant GTK2 biblioteką. Galima naudoti šioms operacinėms sistemoms: BSD, Linux, Mac OS X, Solaris ir Windows. Geany platinamas pagal GNU bendrąją viešąją licenciją. Geany neapima kompiliatoriaus. Vietoj to, vykdomajam kodui generuoti naudojamas GNU kompiliatoriaus rinkinys (arba bet kuris kitas kompiliatorius).
„Microsoft Visual Studio“ yra „Microsoft“ produktų linija, apimanti integruotą programinės įrangos kūrimo aplinką ir daugybę kitų įrankių. Šie produktai leidžia kurti ir konsolių programas, ir programas su grafine sąsaja, įskaitant tas, kurios palaiko Windows Forms technologiją, taip pat svetaines, žiniatinklio programas, žiniatinklio paslaugas tiek vietiniu, tiek valdomu kodu visoms platformoms, kurias palaiko Microsoft Windows, „Windows Mobile“, „Windows CE“, „.NET Framework“, „.NET Compact Framework“ ir „Microsoft Silverlight“. „Visual Studio“ apima šaltinio kodo rengyklę su „IntelliSense“ technologijos palaikymu ir galimybe lengvai pakeisti kodą. Integruotas derinimo įrankis gali veikti ir kaip šaltinio lygio, ir kaip mašinos lygio derinimo priemonė. Kiti įterpiami įrankiai yra formų rengyklė, supaprastinanti programos GUI kūrimą, žiniatinklio rengyklė, klasės dizaineris ir duomenų bazės schemos dizaineris. „Visual Studio“ leidžia kurti ir prijungti trečiųjų šalių priedus (įskiepius), kad išplėstumėte funkcionalumą beveik visais lygmenimis, įskaitant šaltinio kodo versijos valdymo sistemų (pvz., „Subversion“ ir „Visual SourceSafe“) palaikymą, naujų įrankių rinkinių pridėjimą (pvz., redagavimui ir vizualinio kodo projektavimui). konkretaus domeno programavimo kalbomis arba įrankiais, skirtais kitiems programinės įrangos kūrimo ciklo aspektams (pavyzdžiui, Team Explorer klientas, skirtas dirbti su Team Foundation Server).
MonoDevelop yra nemokama kūrimo aplinka, skirta kurti C#, Java, Boo, Nemerle, Visual Basic .NET, Vala, CIL, C ir C++ programas. Taip pat planuojama Embarcadero Technologies parama Oxygene. Iš pradžių tai buvo „SharpDevelop“ „Mono“ / „GTK+“ prievadas, tačiau nuo tada projektas toli nuo pradinės būsenos. MonoDevelop yra Mono projekto dalis.
SharpDevelop yra nemokama C#, Visual Basic .NET, Boo, IronPython, IronRuby, F#, C++ kūrimo aplinka. Paprastai naudoja tie, kurie nenori naudoti Visual Studio .NET. Taip pat yra Mono / Gtk+ šakutė, vadinama MonoDevelop. „SharpDevelop 2.0“ suteikia integruotą derinimo priemonę, kuri naudoja savo bibliotekas ir sąveikauja su .NET vykdymo laiku per COM Interop. Nors SharpDevelop 2.0 (kaip ir VS2005) naudoja MSBuild projekto failus, ji vis tiek gali naudoti kompiliatorius iš .NET Framework 1.0 ir 1.1, taip pat iš Mono.
Kuriant būtina aktyviai naudoti visas programavimo kalbos priemones. Tačiau MonoDevelop aplinka naudoja savo kompiliatorių, kuris visiškai nepalaiko C# kalbos dėl to, kad tai nemokama kelių platformų plėtra, nepriklausoma nuo kalbos kūrėjų. Nors ji suteikia kelių platformų, neįmanoma numatyti kalbos elgesio naujose versijose. Ir vienas iš pagrindinių projekto komponentų yra jo atsparumas gedimams ir stabilumas, o tuo pačiu metu nereikia kelių platformų (1C vartotojų Linux sistemoje nyksta). Todėl ši aplinka nėra tinkama šio projekto plėtrai.
„SharpDevelop“ ir „Geany“ neturi savo kompiliatorių. Todėl, norėdami kurti naudojant šias aplinkas, vis tiek turite naudoti patentuotą programinę įrangą, todėl jų naudojimas yra pagrįstas tik kai kuriais atvejais. Pavyzdžiui, mažo našumo kompiuteriuose arba su labai ribotu projekto biudžetu. Nepaisant to, kad jas galima paleisti ir paleisti Linux sistemoje, šios kūrimo aplinkos dėl savų kompiliatorių trūkumo negalės sukurti kelių platformų programos, o plėtra vis tiek apsiribos Windows operacinėmis sistemomis.
„Microsoft Visual Studio“ taip pat nėra be trūkumų. Pagrindiniai iš jų yra sunkumas, reikalaujantis gana didelės kompiuterio galios; mokėjimas; kelių platformų trūkumas. Nepaisant šių trūkumų, „Visual Studio“ išlieka daugelio C# programuotojų pasirinkta kūrimo aplinka. To priežastis – visapusiškas kalbos palaikymas, pažangūs kūrimo įrankiai, ryški dokumentacija ir pati aplinka. Ši kūrimo aplinka bus naudojama projekte.