Značilnosti razvoja programskega agenta. Utemeljitev izbire orodij in okolja za razvoj programske opreme

Zagotavljamo celovito obravnavo vseh elementov

Zakaj morate določiti zahteve?

Razvojno okolje mora vsebovati vse, kar je potrebno za izdelavo in postavitev programsko intenzivnih sistemov (torej sistemov, v katerih je programska oprema najpomembnejši in obvezni element). Zakaj je pomembno imeti dosledno opredelitev zahtev razvojnega okolja? Skratka, veliko organizacij si prizadeva skrajšati čas do trženja, zmanjšati stroške in izboljšati kakovost, vse to pa so poslovni cilji, ki so neposredno odvisni od kakovosti okolja, ki se uporablja za ustvarjanje takih sistemov. Konsistentna in celovita definicija razvojnega okolja pri roki zagotavlja, da pri načrtovanju ukrepov za izboljšanje obstoječega okolja, definiranju zahtev za okolje, definiranju arhitekture okolja, ocenjevanju okolja, zagotavljanju ustrezne stopnje donosa na naložbe, ko se okolje spreminja itd. Opredelitev vašega razvojnega okolja je ključnega pomena za vse te naloge.

Mesto razvojnega okolja v kontekstu

Preden pogledamo posebne elemente, ki sestavljajo razvojno okolje, je zelo koristno najprej razumeti, kje se okolje ujema s celotno sliko.

Slika 1 prikazuje center za zagotavljanje kakovosti(Center odličnosti), odgovoren za ustvarjanje in vzdrževanje razvojnega okolja. To okolje se uporablja v razvojnih projektih, ki nato ustvarjajo in vzdržujejo programsko intenzivne sisteme (ali nekatera druga programska sredstva, kot so komponente ali storitve). Ta preprosta vizualizacija pomaga razjasniti razlike med vlogo centra za kakovost (vključno z vlogami članov ekipe, procesi in ključnim vozliščem – razvojnim okoljem) in projekti, ki uporaba to razvojno okolje (in tudi njihov vloge, procesi in vozlišča).


Elementi razvojnega okolja

Po mnenju strokovnjakov za programsko opremo IBM Rational je razvojno okolje sestavljeno iz naslednjih šestih elementov, od katerih je vsak prikazan na sliki 2 in podrobno opisan spodaj:

  • Metoda
  • Orodja
  • Omogočanje
  • Organizacija
  • Posvojitev

Morda poznate komponente modela ljudje-proces-tehnologija, ki so ključni gradniki za uspešen razvojni projekt. Vendar je ta model za namene tega članka preveč poenostavljen. Vendar je ta model zgrajen na elementih, prikazanih na sliki 2:

  • Osebje– to je organizacija in priprava.
  • Proces- to je tehnika.
  • tehnologija To so sredstva in infrastruktura.

Implementacija je nov (in zelo pomemben) element, ki se osredotoča na širjenje razvojnega okolja po organizaciji, poslovni enoti ali projektu.

Metoda

Ključni element vsakega razvojnega okolja je metodologija, ki ji formalno ali neformalno sledijo praktiki. Tu so ključne komponente, povezane z metodologijo:

  • Ključni elementi metodologije, kot so vloge, produkti dela, naloge in procesi.
  • Dodatni elementi metodologije, kot so standardi, priporočila, navodila, predloge in primeri.
  • Topologija uvajanja metodologije, ki se lahko upošteva na primer pri uvajanju metodologije kot spletnega mesta na intranetu podjetja. V našem primeru je za gostovanje vsebine potreben spletni strežnik, delovne postaje pa morajo imeti nameščen ustrezen spletni brskalnik in biti povezane s spletnim strežnikom.

Orodja

Razvojna orodja avtomatizirajo vidike izbrane metodologije. Uporabite lahko na primer orodja za shranjevanje in upravljanje zahtev za projekt v razvoju, za vizualno modeliranje arhitekture in oblikovanja, za testiranje programsko opremo itd.

Ključni elementi, povezani z instrumentalna sredstva:

  • Razvojna orodja in orodja za njihovo integracijo.
  • Scenariji za namestitev in konfiguracijo razvojnih orodij.
  • Topologija uvajanja razvojnih orodij, ki upošteva potrebno programsko opremo in Strojna oprema, na strani odjemalca in strežnika, skupaj z vsemi ciljnimi platformami in emulatorji (na primer pri razvoju naprav v realnem času ali vdelanih naprav).

Omogočanje

Priprava strokovnjakov za uporabo razvojnega okolja (usposabljanje in mentorstvo) je pomemben pogoj njeno uspešno izvedbo. Zato vidiki razvojnega okolja vključujejo definiranje in ustvarjanje gradiva za usposabljanje in navodila. Plačujejo tudi vodilna podjetja Posebna pozornost dvig ravni strokovnosti svojih kadrov in usmeritev v zunanje strokovne organizacije.

Ključni elementi, povezani s pripravo:

  • Učni načrti in tečaji. Pokrivajo različne potrebe, od usposabljanja izkušenih strokovnjakov o podrobnostih razvojnega okolja do celovitega programa preusposabljanja strokovnjakov.
  • Učna gradiva. Uporabljajo jih strokovnjaki pri posvetovanju z manj izkušenimi kolegi.
  • Omogočanje topologije razmestitve. Upoštevati je treba topologijo uvajanja, na primer, ko je usposabljanje organizirano prek spletnega usposabljanja. Spet je za gostovanje gradiva potreben spletni strežnik, delovne postaje pa morajo biti opremljene s spletnimi brskalniki. Topologija razmestitve lahko nakazuje tudi prostore in učilnice, potrebne za izvajanje usposabljanja v učilnici.

Organizacija

Drugi vidik razvojnega okolja je zagotavljanje, da so na voljo ustrezni organizacijski viri za njegovo definiranje, uvajanje in upravljanje. Ti lahko vključujejo strokovnjake za posebne vidike razvojnega okolja (na primer trenerje, strokovnjake, trenerje in mentorje), osebje za upravljanje in vzdrževanje okolja, osebje z ustreznimi kvalifikacijami v službi za pomoč uporabnikom podjetja in ustrezne skupnosti strokovnjakov.

Ključni elementi, povezani z organizacijo:

  • Določite organizacijske vloge in oddelke, ki so del razvojnega okolja.
  • Topologija razmestitve organizacijskih virov, ki označuje lokacijo teh organizacijskih enot.

Infrastruktura

Z vidika razvojnega okolja se infrastruktura obravnava v smislu strojne in programske opreme. O tem je bilo že govora pri metodologiji, orodjih, pripravi in ​​organizaciji. Vendar pa obstajajo trije razlogi, da infrastrukturo obravnavamo ločeno kot ključni element:

  1. Prvič, konsolidacija. Na primer, ko upoštevamo infrastrukturne potrebe razvojnega okolja kot celote, se lahko ugotovi, da je potreben samo en spletni strežnik za podporo tako spletne vsebine za metodologijo kot spletnega usposabljanja.
  2. Drugič, zagotovite, da se ustrezno upošteva vsa dodatna strojna in programska oprema, ki podpira razvojno okolje (npr. operacijski sistemi, sistemi za upravljanje baz podatkov, sistemi za upravljanje strojne opreme, orodja za testiranje v realnem času in razvoj vgrajenih naprav).
  3. Tretjič, center za zagotavljanje kakovosti lahko zahteva uvedbo infrastrukture za podporo ustvarjanja in testiranja razvojnega okolja, preden se to uvede v katero koli proizvodno infrastrukturo za podporo poslovnim projektom.

Ključni elementi, povezani z infrastrukturo:

  • Lokacija, vozlišča in povezljivost.
  • Programska oprema (npr. operacijski sistemi, sistemi za upravljanje baz podatkov, sistemi za upravljanje strojne opreme, orodja za testiranje).

Posvojitev

Poleg že naštetih elementov je pomembno razmisliti o implementaciji ogrodja znotraj organizacije, poslovne enote ali razvojnega projekta.

Ključni elementi, povezani z izvedbo:

  • Izvedbeni načrt. Ta načrt določa naloge, ki se običajno izvajajo pri izvajanju okolja, kot je nakup strojne in programske opreme.
  • Metode za izvedbo organizacijskih sprememb. Potrebni bodo za implementacijo in integracijo razvojnega okolja v vsakodnevne aktivnosti ustreznih organizacijskih struktur.
  • Določitev okoljskih indikatorjev. Indikatorji se uporabljajo za merjenje učinkovitosti okolja.

Kontekst rešitve

Pomemben je tudi kontekst rešitve (kjer gre za razvojno okolje). Kontekst predstavlja zahteve za razvojno okolje in si ga je mogoče ogledati v smislu funkcionalnost, lastnosti in omejitve.

  • Funkcionalnost predstavlja vzorec ali vrstni red razvoja programske opreme, ki ga zagotavlja razvojno okolje. Izvedba teh zahtev vas sili k upoštevanju vseh prej omenjenih elementov. Na primer, proces upravljanja zahtev (glejte sliko 3) podpirajo naslednji vidiki:
    • Metodologija upravljanja zahtev.
    • Orodja za upravljanje zahtev.
    • Usposabljanje za upravljanje zahtev in mentorstvo.
    • Podporna ekipa, usposobljena za reševanje težav z upravljanjem zahtev.
    • Strojna in programska oprema za podporo elementom, povezanim z upravljanjem zahtev.
    • Ustrezna implementacija postopkov upravljanja zahtev v projektih.

Druge dele razvojnega okolja, kot sta arhitektura ali upravljanje kakovosti, lahko gledamo na enak način. To metodologijo lahko uporabimo tudi za specifične dejavnosti, na primer za iterativni razvoj (ki je osnova dinamičnega (agilnega) pristopa k razvoju in dostavi programske opreme), ki prav tako zahteva upoštevanje vseh elementov.

  • Lastnosti– to so parametri, ki jih mora imeti razvojno okolje. Zahtevajo tudi upoštevanje vseh elementov razvojnega okolja. Na primer, za implementacijo lastnosti razširljivosti (na primer zmožnost podpiranja različnih števil sočasnih uporabnikov) se uporabljajo naslednji pristopi:
    • Metoda, ki jo je mogoče prilagoditi velikosti projekta.
    • Orodja, ki jih je mogoče konfigurirati za podporo metode, ki se konfigurira.
    • Ustrezni mehanizmi in ravni usposabljanja za projekte različnih velikosti.
    • Organizacijski viri za zagotovitev razpoložljivosti osebja z ustrezno stopnjo usposobljenosti za podporo pričakovanemu številu razvojnih projektov.
    • Infrastruktura, ki se lahko prilagodi tako, da podpira pričakovano število sočasnih uporabnikov.
    • Ustrezni mehanizmi za izvajanje okolja.
  • Omejitve ki jih mora razvojno okolje upoštevati, zahtevajo tudi upoštevanje vseh elementov razvojnega okolja. Na primer, če se morate preseliti iz obstoječega okolja, boste morda morali narediti naslednje:
    • Vzemite pravila iz obstoječe metodologije in jih vključite v novo.
    • Preselite delovne izdelke iz podedovanega nabora orodij v nov nabor (ali integrirajte z obstoječimi orodji).
    • Zagotoviti usposabljanje, ki je primerno trenutnemu stanju in ustrezno organizirano.
    • Zagotovite osebje, ki bo zagotovilo nemoten prehod iz original navaja v načrtovano.
    • Določite infrastrukturo, ki kar najbolje izkorišča obstoječo infrastrukturo (npr. ponovno uporabite obstoječe licence strojne in programske opreme, kjer je to mogoče).
    • Zagotovite izvedbene mehanizme za potrditev napredka migracije.

Druga pomembna omejitev pri razmišljanju o spremembi obstoječega razvojnega okolja je seveda donosnost naložbe (ROI). Da bi bila takšna pobuda uspešna, mora seveda prinesti pozitivne rezultate v skladu s poslovnim načrtom. Vsak vidik razvojnega okolja vpliva na donosnost naložbe tako z vidika stroškov kot dobička.

Čeprav niso prikazane na sliki 2, funkcionalnost, lastnosti in omejitve običajno ustrezajo specifičnemu poslovnemu kontekstu (npr. navedenim poslovnim ciljem). V tem smislu kontekst odločitve vključuje tudi poslovne vidike. To je lahko še posebej pomembno pri dokazovanju neposrednega ali posrednega prispevka razvojnega okolja k doseganju poslovnih ciljev.

Definiraj, uvedi, upravljaj

Pri opredeljevanju različnih elementov razvojnega okolja je koristno upoštevati naslednje elemente življenjskega cikla okolja (glej sliko 4), saj ima vsak od njih poleg konteksta rešitve svoje vidike, ki vplivajo na opredelitev :

  • Opredelitev okolja.
  • Razporeditev okolja.
  • Upravljanje z okoljem.

Preden pogledamo področja na sliki 4, je vredno pojasniti, zakaj so povezana v cikel. Ta številka potrjuje, da je učinkovita sprememba (v tem primeru izboljšanje razvojnega okolja) običajno dosežena z nizom postopnih sprememb, ne pa z veliki pok(evolucija, ne revolucija) in vsaka inkrementalna sprememba predstavlja en prehod skozi cikel. Vendar pa sprememba, izvedena v enem ciklu, po definiciji spremeni kontekst naslednjega (na primer, strokovnjaki imajo zdaj potrebne kvalifikacije, pojavila se je nova oprema, pridobljena so bila nova orodja itd.), To je ciklična narava spremembe so prikazane.

Naslednji razdelki obravnavajo vsak element razvojnega okolja skupaj z definiranjem rešitve, uvajanjem rešitve in upravljanjem rešitve.

Opredelitev

Uporabljeno za definicija razvojno okolje, se spomnite prejšnje razprave o ključnih elementih. Ta razprava tukaj ni ponovljena, čeprav za popolnost tabela 1 povzema različne prej opredeljene elemente.

Prav tako je treba opozoriti, da se opredelitev običajno obravnava na organizacijski ravni in lahko zahteva lokalna izvedba za izpolnitev zahtev določene poslovne enote ali projekta med uvedbo. To se odraža v naslednjih razdelkih.

Tabela 1. Vidiki definicije
ElementOpis
MetodaVloge, produkti dela, naloge, procesi
Standardi, priporočila, navodila itd.
Topologija uvajanja metodologije
OrodjaRazvojna in integracijska orodja
Scenariji za namestitev in konfiguracijo razvojnih orodij
Topologija uvajanja razvojnih orodij
OmogočanjeŠtudijski programi in tečaji
Učna gradiva
Omogočanje topologije razmestitve
OrganizacijaOrganizacijske vloge in delitve
Topologija razmestitve organizacijskih virov
Lokacija, vozlišča in povezljivost
Podporna programska oprema (kot so operacijski sistemi)
PosvojitevIzvedbeni načrt
Metodologije za izvedbo organizacijskih sprememb
Okoljski indikatorji

Razporeditev

Uvedba razvojnega okolja odpira specifična vprašanja glede vsakega elementa (glejte tabelo 2).

Tabela 2: Premisleki o uvajanju
ElementOpis
Metoda
Metodologija uvajanja
OrodjaIzvajanje lokalne konfiguracije
Namestitev orodij
Selitev lokalnih podatkov
OmogočanjeKonfiguracija na mestu
Razporeditev navodil
Usposabljanje izvajalcev
OrganizacijaDefiniranje lokalne konfiguracije
Reorganizacija
InfrastrukturaDoločitev lokalne infrastrukture
Zagotavljanje lokacij, vozlišč in povezljivosti
Zagotavljanje podporne programske opreme
PosvojitevOblikovanje lokalnega izvedbenega načrta
Preverjanje okolja

Ključni elementi tehnike:

  • Določite lokalno konfiguracijo. Pri uvajanju metodologije v poslovno enoto ali razvojni projekt bo morda potrebna lokalna konfiguracija, ki bo odražala specifične značilnosti poslovne enote, razvojnega projekta ali sistema (na primer z zagotavljanjem ustrezne stopnjo formalnosti).
  • Uporaba metodologije. Zagotavlja razpoložljivost tehnike za strokovnjake.

Ključni elementi orodja:

  • Izvedba lokalne nastavitve. Vsaka lokalna prilagoditev orodij se uporablja za avtomatizacijo prilagoditve lokalne metodologije.
  • Namestitev orodij. Omogoča dostop do nameščenih orodij (in njihove integracije) strokovnjakom.
  • Migracija lokalnih podatkov. Na primer, morda boste morali preseliti podatke iz obstoječega kompleta orodij v novega.

Ključni elementi priprava:

  • Izvedite lokalno konfiguracijo. lokalne nastavitve. Po potrebi - prilagoditev, pojasnitev ali posodobitev izobraževalno gradivo. Lahko na primer revidirate svoja gradiva za usposabljanje, da jih uskladite s procesom, opredeljenim za dano poslovno enoto ali razvojni projekt.
  • Razporeditev gradiva za usposabljanje. Izvajalcem zagotavlja dostop do njih, vključno z dostopom do vseh spletnih gradiv.
  • Usposabljanje izvajalcev. Med usposabljanjem se zbirajo povratne informacije izvajalcev.

Ključni elementi organizacije:

  • Določite lokalno konfiguracijo. Morda bodo potrebni strokovnjaki za podporo specifičnim potrebam določene poslovne enote ali razvojnega projekta.
  • Reorganizacija. Organizirajte osebje in vire za podporo razvojnemu okolju.

Ključni elementi infrastrukturo:

  • Določite lokalno konfiguracijo. Določite potrebno infrastrukturo za določeno poslovno enoto ali razvojni projekt.
  • Zagotavljanje lokacije, vozlišč in povezljivosti. Dajte na voljo vso potrebno strojno opremo (vključno z vsemi ciljnimi platformami in emulatorji za naprave v realnem času in vdelane naprave).
  • Zagotavljanje podporne programske opreme. Namestite vso potrebno programsko opremo za podporo razvojnemu okolju (na primer sisteme za upravljanje baz podatkov ali orodja za testiranje).

Ključni elementi izvajanje:

  • Določite lokalni izvedbeni načrt. Izboljšajte svoj izvedbeni načrt na podlagi posebnih potreb vaše poslovne enote ali razvojnega projekta.
  • Preverjanje pravilnosti okolja. Preizkusite nameščeno okolje in preverite, ali izpolnjuje definirane zahteve v smislu določene funkcionalnosti, lastnosti in omejitev.

Nadzor

Kot je prikazano v tabeli 3, ima upravljanje razvojnega okolja po njegovi uvedbi tudi posebne vidike za vsak element.

Tabela 3. Vidiki upravljanja
ElementOpis
MetodaZbiranje povratnih informacij o metodologiji
OrodjaVarnostno kopiranje, arhiviranje, obnovitev podatkov
Zbiranje povratnih informacij o orodjih
OmogočanjeUsposabljanje specialistov
Zbiranje povratnih informacij o pripravi
OrganizacijaZbiranje povratnih informacij o
InfrastrukturaZagotavljanje ali umik infrastrukture po potrebi
Zbiranje povratnih informacij o infrastrukturi
PosvojitevMerjenje učinkovitosti okolja
Zbiranje povratnih informacij o izvajanju

Ključni elementi tehnike:

  • Zbiranje povratnih informacij o metodologiji. Ključni vidik upravljanja vašega razvojnega okolja je, da ga nenehno izboljšujete. Zato zbiranje povratnih informacij zadeva vse elemente. Povratne informacije se običajno zbirajo subjektivno, na primer z vprašalniki.

Ključni elementi orodja:

  • Varnostno kopiranje, arhiviranje, obnovitev podatkov. Preverite, ali se delovni proizvodi, ki so jih ustvarili strokovnjaki, pravilno upravljajo in ali se uporabljajo prakse "dobrega upravljanja".
  • Zbiranje povratnih informacij o orodjih. Zberite povratne informacije (pozitivne in negativne) o razpoložljivosti in učinkovitosti orodij.

Ključni elementi priprava:

  • Usposabljanje izvajalcev. Določite nadzornike projekta, da izvajalci vedo, kako uporabljati okolje.
  • Zbiranje povratnih informacij o pripravi, npr. za usposabljanje ali mentorstvo.

Ključni elementi organizacije:

  • Zbiranje povratnih informacij o organizaciji. Izvajalci podajo svoje pripombe na zagotovljeno podporo pri uporabi razvojnega okolja (npr. na kakovost storitve podpore).

Ključni elementi infrastrukturo:

  • Zagotavljanje ali odvzem infrastrukturnih elementov po potrebi. Od začetka do konca projektov mora biti razvojno okolje ustrezno dimenzionirano, da optimalno podpira število delavcev, ki uporabljajo okolje v danem trenutku.
  • Zberite povratne informacije o infrastrukturi, vključno s strojno in podporno programsko opremo.

Ključni elementi izvajanje:

  • Merjenje učinkovitosti okolja. To je ključni vidik uspešne implementacije. Na primer, izvajalcem lahko posredujete vprašalnik in jih prosite, da ocenijo učinkovitost uvajanja novih metod dela.
  • Zbiranje povratnih informacij o izvajanju. Zbirajo se povratne informacije o pristopih izvajanja.

Soodvisnosti

Na koncu ne pozabite, da različni elementi razvojnega okolja niso neodvisni. Alternativna predstavitev slike 2 je podana na sliki 5, ki kaže, da je vsak element povezan z vsemi drugimi elementi.

Tukaj je nekaj primerov odvisnosti med elementi:

  • Metodologija (metodologija) se nanaša na razpoložljive tečaje usposabljanja (priprave).
  • Orodja (orodja) avtomatizirajo naloge (tehnike).
  • Administrativne vloge (organizacija) so opredeljene za podporo orodij (tools).
  • Strežniki (infrastruktura) so na voljo za gostovanje niza orodij (orodij).
  • Izvajanje delovnih praks (implementacija) se ocenjuje s posebnim pristopom (metodologijo).

Zaključek

Ta članek dopolnjuje članek (EN), ki ga je isti avtor objavil v Racionalni rob leta 2008. Podrobno opisuje ključne elemente razvojnega okolja in poudarja različne vidike definiranja, uvajanja in upravljanja tega okolja. Zagotavlja preprost okvir za zagotovitev, da se vsi ti vidiki upoštevajo pri načrtovanju ukrepov za izboljšanje obstoječega okolja, definiranju okoljskih zahtev, definiranju arhitekture, ocenjevanju okolja itd.

Aleksej Fedorov, Natalija Elmanova

Prejšnji članek v tej seriji je bil posvečen obravnavi logičnega in fizičnega oblikovanja podatkov ter orodij, uporabljenih pri tem procesu. Prepričani smo, da ima oblikovanje podatkov ključno vlogo pri razvoju informacijskih sistemov – navsezadnje so od kakovosti tega dela odvisni stroški, povezani z izdelavo aplikacij za končne uporabnike, ter kasnejše vzdrževanje in posodabljanje ustvarjenega izdelka. . Rezultat te stopnje je "prazna" baza podatkov (to je baza podatkov, katere tabele večinoma ne vsebujejo zapisov, z možno izjemo referenčnih tabel, kot je seznam predmetov Ruska federacija ali telefonske območne kode).

Naslednja stopnja življenjskega cikla informacijski sistem- razvoj odjemalskih aplikacij. Rezultat te faze je končni izdelek, sestavljen iz številnih aplikacij, ki uporabnikom omogočajo vnos podatkov v tabele ali urejanje obstoječih podatkov, analizo vnesenih podatkov in njihovo predstavitev v uporabniku prijaznejši obliki – grafi, vrtilne tabele ali poročila ( tudi v obliki " papirnatih dokumentov).

Proces oblikovanja podatkov za relacijske DBMS je do neke mere logičen proces in je predmet enotne standardne metodologije. To določa nizko stopnjo odvisnosti zaporedja dejanj, izvedenih med načrtovanjem podatkov, od tega, katero orodje za načrtovanje podatkov je uporabljeno in od tega, ali se sploh uporablja. Pravzaprav so si zato orodja za načrtovanje podatkov bolj ali manj podobna po vmesniku, ki v bistvu odraža proces risanja podatkovnih modelov na papir.

Postopek ustvarjanja odjemalskih aplikacij, ki delajo z bazami podatkov, je precej težko opisati v obliki tako univerzalnega zaporedja dejanj, saj je logika posamezne aplikacije skoraj popolnoma odvisna od logike poslovnega procesa, ki se modelira. Orodja za razvoj aplikacij kot kategorija izdelkov programske opreme obstajajo veliko dlje kot orodja za podatkovno inženirstvo in so bolj raznolika – od prevajalnika, ki deluje iz ukazna vrstica, do orodij, kjer se končana aplikacija sestavi z miško iz že pripravljenih komponent, koda pa se generira samodejno. S tako različnimi razvojnimi orodji jih je treba na nek način razvrstiti, kar bomo poskušali storiti v tem članku, hkrati pa bomo povedali, katera od njih so primerna za uporabo v določenem primeru.

Klasifikacija orodij za razvoj aplikacij

Razvojna orodja lahko razvrstimo z različnih položajev, na primer glede na programski jezik, ki ga podpirajo, ali funkcionalnost ustvarjenih aplikacij na določeni platformi ali prisotnost določenih knjižnic in vizualnih orodij v njih. Orodja za razvoj aplikacij bomo skušali razvrstiti glede na enostavnost uporabe za izdelavo produktov, ki predstavljajo uporabniški vmesnik do podatkovne baze.

Skoraj vsako razvojno orodje, ki ima najmanjšo trditev o univerzalnosti, je mogoče pripraviti za delo s katero koli zbirko podatkov - dovolj je, da podpira uporabo knjižnic tretjih oseb v tem razvojnem orodju in da ima ta baza podatkov nabor odjemalskih vmesnikov (API). za platformo, na kateri naj bi delovale izdelane aplikacije. Vendar ni vsak par izdelkov "razvojno orodje plus DBMS" privlačen z vidika stroškov dela, povezanih z ustvarjanjem takšnih aplikacij. Napišete lahko popolno aplikacijo, ki kliče funkcije odjemalskega API-ja in izvaja priročen uporabniški vmesnik z uporabo prevajalnika jezika C in preproste grafične knjižnice (na primer omogoča spreminjanje barve slikovnih pik na zaslonu) za operacijski sistem v ki jih bo izvajala ta aplikacija. Toda stroški, povezani z izvajanjem takšnega projekta, so lahko popolnoma neupravičeni - navsezadnje bodo morali razvijalci v tem primeru izvajati funkcije, ki so že vsebovane v knjižnicah razredov in komponent razvojnih orodij, ki so globlje osredotočena na ustvarjanje aplikacij baze podatkov ali vključujejo podporo za ustvarjanje takih aplikacij.

Razvojna orodja, namenjena specifičnim DBMS

Pred deset do dvajsetimi leti so bile v mnogih aplikacijah, ki so uporabljale baze podatkov, funkcije odjemalskega API-ja klicane iz kode, napisane v enem od programskih jezikov, najpogosteje v C. Samo poglejte opis API-ja na strani odjemalca skoraj katerega koli strežnika DBMS - in našli boste veliko primerov najbolj značilnih fragmentov kode, na primer za registracijo uporabnika, izvajanje zahtev itd. Vendar pa je razvijalcem DBMS hitro postalo jasno, da je mogoče stroške dela, povezane s pisanjem takšne kode, znatno zmanjšati z zbiranjem najbolj značilnih fragmentov kode in elementov uporabniškega vmesnika, ki se najpogosteje pojavljajo (tudi za alfanumerične terminale) v knjižnice, formatiranje teh knjižnic kot samostojen izdelek in mu dodal razvojno okolje in pripomočke za oblikovanje obrazcev po meri za pregledovanje in urejanje podatkov ter poročil. Točno tako so se pojavila prva razvojna orodja, osredotočena na specifične DBMS, kot je Oracle*Forms (predhodnik sedanjega Oracle Forms Developer).

Izdelki tega razreda so še danes na voljo na trgu razvojnih orodij. Skoraj vsi proizvajalci strežniških DBMS proizvajajo tudi orodja za razvoj aplikacij. V veliki večini primerov sodobne različice teh razvojnih orodij podpirajo dostop do DBMS-jev drugih proizvajalcev z vsaj enim od univerzalnih mehanizmov dostopa do podatkov (ODBC, OLE DB, BDE). Vendar pa se dostop do "vašega" DBMS običajno izvaja čim bolj učinkovit način, to je z uporabo odjemalskih API-jev, objektov, vsebovanih v knjižnicah odjemalskega dela strežniških DBMS, posebnih razredov za dostop do podatkov iz tega DBMS ali z implementacijo gonilnikov za mehanizme univerzalnega dostopa do podatkov, ki lahko upoštevajo posebne značilnosti ta DBMS.

Namizna razvojna okolja DBMS lahko uvrstimo v ločeno kategorijo. V članku iz te serije, posvečenem namiznim DBMS, smo že zapisali, da velika večina namiznih DBMS, ki so preživeli do danes, kot so Microsoft Visual FoxPro, Microsoft Access, Corel Paradox, Visual dBase, podpira dostop do strežniških DBMS, minimalno uporabo univerzalnih mehanizmov za dostop do podatkov, kar nam omogoča, da jih pogojno uvrstimo med razvojna orodja. Upoštevajte pa, da je trenutno ustvarjanje aplikacij v arhitekturi odjemalec-strežnik z njihovo pomočjo redek pojav. Izjema so morda pari Microsoft Access - MSDE, Microsoft Access - Microsoft SQL Server in Microsoft Visual FoxPro - Microsoft SQL Server. To je rezultat kompetentne Microsoftove politike, ki stremi k največji možni združljivosti svojih izdelkov in uporabnikom zagotavlja čim bolj nebolečo zamenjavo njihovih namiznih DBMS-jev z lastnimi strežniki baz podatkov (Access->MSDE->Microsoft SQL Server, FoxPro->Visual FoxPro ->Microsoft SQL Server).

Razvojna orodja, ki so univerzalna glede na DBMS

Razvojna orodja, ki so glede na DBMS univerzalna (ali trdijo, da so podobno univerzalna), so praviloma privrženci običajnih orodij za razvoj aplikacij, ki niso neposredno povezana z bazami podatkov. Tipični primeri takih razvojnih orodij so Borland Pascal, Borland C++, Microsoft QuickC. Z možnostjo uporabe knjižnic tretjih oseb so ta orodja omogočila dostop do funkcij odjemalskih API-jev, z razvojem univerzalnih mehanizmov za dostop do podatkov (kot je ODBC) pa tudi dostop do funkcij API-jev knjižnic, ki izvajajo take mehanizme. Upoštevajte, da so bila ta razvojna orodja pogosto uporabljena za ustvarjanje namiznih okolij DBMS (kot je dBase, FoxBase) ali psevdoprevajalnikov za jezike družine xBase (na primer Clipper).

Kasnejše različice teh razvojnih orodij so pridobile knjižnice funkcij in razredov, zasnovanih za dostop do podatkov z uporabo določenih univerzalnih mehanizmov. Nadaljnji razvoj razvojnih orodij je povzročil nastanek dveh kategorij izdelkov za podobne namene.

Prva kategorija vključuje razvojna orodja, ki imajo obsežne knjižnice razredov, veliko število "čarovnikov" in generatorjev kode, vendar so osredotočena na "ročno" ustvarjanje kode in se precej redko uporabljajo za ustvarjanje "standardnih" aplikacij za delo z bazami podatkov (tu pod fraza " standardna aplikacija"mislimo na aplikacijo, ki ima neposreden dostop do podatkovne baze, s katero uporabnik komunicira, to je "klasični" odjemalec strežniškega DBMS). Tipičen (in edini resnično priljubljen na trgu programske opreme) predstavnik tega razred izdelkov je Microsoft Visual C++ z uporabo Microsofta Knjižnici Visual C++ in MFC (Microsoft Foundation Classes) lahko ustvarite katero koli aplikacijo, če imate spretnosti, znanje, sposobnosti in čas. Vendar se aplikacije s kompleksnim uporabniškim vmesnikom (na primer z uporabo baz podatkov) z njegovo pomočjo ne razvijajo tako pogosto (čeprav je primere takšne uporabe mogoče najti celo v ruski literaturi). Ta izdelek se uporablja predvsem za ustvarjanje odjemalskih aplikacij v primeru, da so jim predstavljene posebne zahteve, kot so na primer visoka zmogljivost, zmožnost izvajanja kakršnih koli nestandardnih operacij itd.

V drugo kategorijo sodijo razvojna orodja z razvitimi vizualnimi orodji, ki vam omogočajo dobesedno »risanje« uporabniškega vmesnika, s čimer delno izbrišete razlike med delom programerja in uporabnika ter znižate stroške končnega izdelka z vključevanjem razvijalcev, ki niso visoko usposobljeni za oblikovanje vmesnikov (če natančno preučite programe tečajev izobraževalnih centrov, specializiranih za usposabljanje za razvojna orodja Microsoft, Borland in Sybase, lahko ugotovite, da trajanje tečaja usposabljanja, po poslušanju katerega običajno Uporabnik sistema Windows naučiti se izdelati odjemalske aplikacije za strežniške DBMS, traja od 5 do 10 delovnih dni).

Ta kategorija razvojnih orodij se najpogosteje uporablja pri ustvarjanju odjemalskih aplikacij. Najbolj priljubljeni izdelki tega razreda vključujejo Microsoft Visual basic Borland Delphi Sybase PowerBuilder in Borland C++ Builder. Razvojna okolja za takšne izdelke so si po videzu zelo podobna (do privzete razporeditve oken na zaslonu): razvojno okolje za tak izdelek praviloma vsebuje »prazen« oblikovane oblike (analog okna) , ločena plošča z ikonami elementov uporabniškega vmesnika in drugih predmetov, ki se uporabljajo v aplikaciji, ki jih je mogoče izbrati in postaviti na obrazec, okno, v katerem so prikazane in urejene lastnosti enega od elementov, izbranih na obrazcu (in včasih seznam dogodkov, na katere se ta element odziva), okno urejevalnika kode, kjer lahko vnesete fragmente kode, povezane z obdelavo določenih dogodkov, kot tudi kodo, ki izvaja logiko delovanja to aplikacijo. običajno, sodobna sredstva razvoj tega razreda vam omogoča ustvarjanje preprostih aplikacij za urejanje podatkov tako rekoč brez kodiranja.

V zadnjem času je zelo priljubljeno tudi ustvarjanje aplikacij, ki uporabljajo dostop do baz podatkov, vendar se nahajajo znotraj običajnih dokumentov. Razvojna orodja za takšne aplikacije temeljijo na makro jezikih ustreznih urejevalnikov. Najbolj značilen in praktično edini priljubljen predstavnik razvojnih orodij v tej kategoriji je Visual Basic for Applications, ki je podoben zgoraj naštetim vizualnim razvojnim orodjem in se od njih razlikuje po tem, da so aplikacije, ustvarjene z njegovo pomočjo, vsebovane v dokumentih. Microsoft Office in se od njih ne odtujijo.

Upoštevajte pa, da je zgornja delitev razvojnih orodij na ta dva razreda zelo poljubna. Kot smo že omenili, skoraj vsa orodja za razvoj aplikacij baze podatkov, vključno s tistimi, ki so osredotočena na specifične DBMS, podpirajo vsaj enega od mehanizmov univerzalnega dostopa do podatkov. In skoraj vsa "univerzalna" orodja za razvoj aplikacij, če pripadajo proizvajalcu katerega koli strežnika DBMS, podpirajo "njihov" DBMS bolje kot DBMS tretjih oseb (to se lahko izrazi na primer v posebnih knjižnicah razredov ali komponent za dostop danega strežnika, pa tudi prisotnost skupnih repozitorijev objektov in podatkovnih modelov ter včasih urejevalnikov parametrov dostopa do podatkov ali podatkovnih shem, ki so skupni odjemalskemu delu strežniškega DBMS)

Klasifikacija aplikacij z uporabo baz podatkov

Aplikacije v arhitekturi odjemalec-strežnik

V prejšnjih člankih v tej seriji smo že govorili o tem, kaj je arhitektura odjemalec-strežnik v tradicionalnem smislu. Zato bomo le na kratko spomnili, da so informacijski sistemi, ustvarjeni v taki arhitekturi, strežnik baze podatkov, ki manipulira s podatki, in odjemalska aplikacija, ki dostopa do njih in uporablja bodisi odjemalske API-je (ali razrede in komponente, ki enkapsulirajo svoje klice) bodisi enega izmed univerzalnih mehanizmov za dostop do podatkov. . Običajno je pri uporabi takšne aplikacijske arhitekture strežnik baze podatkov odgovoren tudi za spremljanje skladnosti s poslovnimi pravili, implementiranimi v obliki shranjenih procedur, sprožilcev, omejitev strežnika in drugih objektov baze podatkov.

Za izdelavo odjemalskih aplikacij se v tem primeru največkrat uporabljajo razvojna orodja z naprednimi vizualnimi orodji, kot so Microsoft Visual Basic, Borland Delphi, Sybase PowerBuilder, Borland C++Builder.

Upoštevajte pa, da je izbira arhitektur za sodobne aplikacije zdaj precej široka in ni omejena na "klasično" arhitekturo odjemalec-strežnik, kar pomeni, da je aplikacija sestavljena iz strežnika baze podatkov in odjemalskih aplikacij, ki komunicirajo s tem strežnikom. Zato bomo spodaj razpravljali o tem, katera razvojna orodja so primerna za uporabo pri ustvarjanju porazdeljenih aplikacij.

Porazdeljene aplikacije

Porazdeljene (ali večnivojske) aplikacije so običajno sestavljene iz predstavitvenih storitev (ali "tankih" odjemalcev, s katerimi običajno komunicirajo končni uporabniki), storitev poslovne logike, implementiranih kot poslovni objekti (ali storitev srednjega nivoja; pogosto je za opis zbirke izraza vmesna programska oprema ki se uporabljajo za takšne storitve) in podatkovne storitve (običajno sestavljene iz strežnika baze podatkov in mehanizmov za dostop do podatkov). Storitve poslovne logike so oblikovane za sprejemanje uporabniških vnosov iz predstavitvenih storitev, interakcijo s podatkovnimi storitvami za izvajanje poslovnih operacij (na primer obdelava naročil ali izračuni bilance stanja) in vračanje rezultatov teh operacij predstavitvenim storitvam.

Za razliko od običajnih aplikacij v arhitekturi odjemalec-strežnik v večnivojskih sistemih tanki odjemalci praviloma nimajo neposrednega dostopa do podatkov. Namesto tega odjemalci pošiljajo zahteve poslovnim objektom, posebej zasnovanim za ta namen. Ti pa lahko izvajajo posle na zahtevo stranke (kot je obdelava naročil, izpolnitev bančna transakcija itd.).

Nekateri poslovni objekti lahko dostopajo do podatkovnih storitev z uporabo enega ali drugega mehanizma za dostop do podatkov. Ker končni uporabnik ne komunicira neposredno s poslovnimi objekti, običajno nimajo uporabniškega vmesnika v tradicionalnem smislu. Fizično so poslovni objekti lahko implementirani v obliki storitev operacijskega sistema, konzolnih aplikacij ali Windows aplikacij, pa tudi v obliki knjižnic, naloženih v naslovni prostor posebej za to zasnovane strežniške aplikacije (spletni strežnik, aplikacijski strežnik, nadzornik transakcij itd.). Ni nenavadno, da en poslovni subjekt oskrbuje veliko strank.

Za ustvarjanje poslovnih objektov se uporabljajo tako razvojna orodja z naprednimi vizualnimi orodji kot razvojna orodja, osredotočena na »ročno« ustvarjanje kode aplikacije (kot je Visual C++). Upoštevajte, da najnovejše različice skoraj vseh najbolj priljubljenih orodij za razvoj aplikacij Windows (Microsoft Visual Basic, Visual FoxPro in Visual C++, Borland Delphi in C++Builder, Sybase PowerBuilder) podpirajo ustvarjanje različnih vrst poslovnih objektov (spletne aplikacije, Objekti ASP, strežniki COM itd.), z možno izjemo Microsoft Accessa - ta izdelek je zasnovan bolj za kvalificirane uporabnike kot za razvijalce porazdeljenih sistemov. V ta namen se pogosto uporabljajo orodja za ustvarjanje aplikacij Java (kot je Borland JBuilder).

Upoštevajte, da ima trg razvojnih orodij poleg zgoraj naštetih "univerzalnih" orodij za ustvarjanje aplikacij v arhitekturi odjemalec-strežnik in poslovnih objektov za porazdeljene sisteme tudi specializirana orodja, zasnovana posebej za ustvarjanje poslovnih objektov (običajno spletnih aplikacij). . Od razvojnih orodij tega razreda za platformo Windows je najbolj priljubljen Microsoft Visual InterDev, katerega prva različica se je pojavila leta 1998. Omenimo lahko še en zanimiv izdelek, ki spada v isto kategorijo razvojnih orodij - Borland IntraBuilder, ki se je pojavil dve leti prej, vendar iz nekega razloga kljub vse večji potrebi po izdelkih tega razreda ni bil deležen nadaljnjega razvoja. Razvojna orodja tega razreda vam praviloma omogočajo ustvarjanje aplikacij, ki dinamično generirajo kodo HTML ali kodo v enem od skriptnih jezikov (VBScript ali JavaScript), ki jo spletni strežnik prenese v brskalnik uporabnika kot del spletno stran in zaznava podatke, ki jih uporabnik vnese v obliki HTML in jih brskalnik posreduje spletnemu strežniku.

Zaključek

V tem članku smo razpravljali o procesu ustvarjanja aplikacij, ki uporabljajo baze podatkov, kot tudi o različnih kategorijah orodij, uporabljenih pri njihovem razvoju. Videli smo, da lahko razvojna orodja po eni strani razdelimo na orodja, osredotočena na uporabo specifičnih DBMS, orodja, ki so univerzalna glede na DBMS, in namizna okolja DBMS, ki se uporabljajo za razvoj aplikacij. Po drugi strani pa jih lahko razdelimo na orodja, osredotočena na oblikovanje vizualnega uporabniškega vmesnika (ta kategorija vključuje Microsoft Visual Basic, Borland Delphi, Sybase PowerBuilder, Borland C++Builder) in orodja, osredotočena na pisanje aplikacijske kode (Visual C++).

Po pregledu več najbolj priljubljenih orodij za razvoj aplikacij smo ugotovili, da večina teh izdelkov običajno podpira:

  • vsaj enega od univerzalnih mehanizmov dostopa do podatkov, ki vam omogoča uporabo ustvarjenih aplikacij podatki iz različnih DBMS;
  • ustvarjanje več vrst porazdeljenih aplikacij;
  • samodejno generiranje aplikacijske kode na podlagi modelov, ustvarjenih z uporabo najbolj priljubljenih orodij za načrtovanje podatkov in modeliranje poslovnih procesov.

Razpravljali smo tudi o tem, kako se aplikacije odjemalec-strežnik razlikujejo od porazdeljenih sistemov in katera razvojna orodja je mogoče uporabiti za ustvarjanje obeh vrst aplikacij.

Življenjski cikel informacijskega sistema se ne konča z razvojem aplikacije. Ko so izdelani, naj bi jih testirali, implementirali, usposobili za uporabo s strani uporabnikov in na koncu delovali vrsto let. Zaradi takšnega izkoriščanja se kopičijo podatki, ki so praviloma veliko dragocenejši od samih aplikacij. Ti podatki pogosto predstavljajo gradivo, potrebno za sprejemanje pomembnih upravljavskih odločitev, zato je pomembno, da jih lahko pretvorimo v za ta namen primerno obliko. V ta namen obstajajo orodja, ki spadajo v kategorijo Business Intelligence - generatorji poročil, orodja analitično obdelavo podatke in iskanje vzorcev. O njih bomo govorili v naslednjem članku te serije.

Za optimalen razvoj okolja programsko orodje potrebno je kombinirati različne programske jezike, saj je vsak od njih usmerjen k doseganju specifičnih ciljev. Tako kot na primer lahko nekaj ukazov PHP ustvari celotno spletno stran, vendar se skript v praksi skoraj vedno uporablja v povezavi s HTML in običajno izvorno besedilo skripta vsebuje veliko število vrstice. Vendar je treba upoštevati, da se koda PHP lahko nahaja kjer koli v dokumentu HTML, vendar ni nujno, da uporablja HTML. Zagotoviti morate le, da koda PHP ustvari pravilno kodo HTML, ki jo bo nato pravilno prikazal spletni brskalnik.

HTML je hiperbesedilni označevalni jezik, ki se uporablja za ustvarjanje dokumentov na internetu. Ustvari potrebno strukturo in mrežo strani, videz ki dodatno izboljša CSS in JavaScript. Trenutno je najnovejša različica HTML5, pred katero je bil HTML4.01. Večina spletnih virov je zgrajenih na podlagi tega posebnega jezika.

Za razliko od HTML 4, ki ima 3 validatorje, ima HTML 5 enega validatorja:. HTML 5 podpira MathML in SVG.

Nove oznake: razdelek, članek, stran, hgroup, glava, noga, nav, pogovorno okno, slika, video, avdio, vir, embed za vstavljanje vsebine z dodatkom (samo), oznaka, napredek, meter, čas, ruby, rt, rp , platno, ukaz, podrobnosti, podatkovni seznam, keygen, izhod.

Nove vrste vnosa: tel, iskanje, url, e-pošta, datum in ura, datum, mesec, teden, ura, lokalni datum in čas, številka, obseg, barva.

Novi atributi za oznake: atributi medijev ping za območje in itd.

Izginotje nekaterih oznak zaradi dejstva, da jih je mogoče nadomestiti s CSS: basefont, big, center, font, s, strike, tt, u.

Okvirji izginjajo zaradi negativnega vpliva na celotno stran

Izginotje nekaterih oznak, ki so v posodobljeni specifikaciji nadomeščene z ustreznejšimi: akronim (uporabljen je abbr), programček (uporabljen je objekt), isindex, dir.

Nekateri atributi oznake niso podprti zaradi pomanjkanja potrebe: rev in nabor znakov za povezavo in a, oblika in koordinate za a itd.

Nekateri atributi oznak niso podprti zaradi dejstva, da kdaj z uporabo CSS dosežen najboljši učinek: poravnava za vse oznake, alink, povezava, besedilo, vlink za telo in tako naprej.

Novi API-ji: risanje 2D slik v realnem času; nadzor nad predvajanjem medijskih datotek; shranjevanje podatkov v brskalniku; urejanje; Povleci in spusti; delo z omrežjem; MIME; novih elementov v DOM.

CSS je formalni jezik za opis videza dokumenta, napisanega z uporabo označevalnega jezika. CSS je akronim za Cascading Style Sheets. CSS je slogovni jezik, ki definira prikaz dokumentov HTML. CSS na primer deluje s pisavami, barvo, robovi, črtami, višino, širino, slikami ozadja, pozicioniranjem elementov in številnimi drugimi stvarmi. HTML se lahko uporablja za oblikovanje spletnih mest, vendar je CSS močnejši ter natančnejši in izpopolnjen. CSS trenutno podpirajo vsi brskalniki.

HTML se uporablja za strukturiranje vsebine strani. CSS se uporablja za oblikovanje te strukturirane vsebine. Kot spletni razvoj Oblikovalci so začeli iskati načine za oblikovanje spletnih dokumentov. Da bi zadostili povečanim zahtevam potrošnikov, so proizvajalci brskalnikov (takrat Netscape in Microsoft) izumili nove oznake HTML, kot je npr. , ki so se od prvotnih oznak HTML razlikovale po tem, da so definirale videz in ne strukture. To je pripeljalo tudi do originalnih oznak za strukturiranje, kot je npr

, se vse bolj uporabljajo za oblikovanje strani namesto za strukturiranje besedila. Veliko novih oblikovalskih oznak, kot je npr , podpiral samo en brskalnik. "Za ogled te strani potrebujete brskalnik X" je postala običajna izjava o omejitvi odgovornosti na spletnih mestih.

CSS je bil ustvarjen, da bi popravil to situacijo, tako da je spletnim oblikovalcem zagotovil natančne zmožnosti oblikovanja, ki jih podpirajo vsi brskalniki. Hkrati sta bila ločena predstavitev in vsebina dokumenta, kar je zelo poenostavilo delo.

Pojav CSS je bil revolucija v svetu spletnega oblikovanja. Posebne prednosti CSS:

Nadzorujte prikaz več dokumentov z uporabo ene same slogovne datoteke;

Natančnejši nadzor nad videzom strani;

Različni pogledi za različne medije (zaslon, tisk itd.);

Kompleksna in prefinjena tehnika oblikovanja.

Obstajajo načini za uporabo pravil CSS v dokumentu HTML.

1. način: V vrstici/v vrstici (atribut sloga). CSS lahko uporabite za HTML z uporabo atributa sloga HTML. Barvo ozadja lahko nastavite na rdečo takole:

Primer

To je rdeča stran

2. način: notranji (oznaka sloga). Drugi način za vstavljanje kod CSS je oznaka HTML