Instrumentaali esimerkein. Instrumentaaliset ohjelmointijärjestelmät. VisualBasicin ydin ja sen lyhyt historia

Jopa satojen tuhansien PC-ohjelmien kanssa käyttäjät saattavat tarvita jotain, mitä nykyiset ohjelmat eivät tee (tai tekevät, mutta eivät oikein). Näissä tapauksissa työkaluohjelmistoa käytetään uusien ohjelmien luomiseen, mikä mahdollistaa sekä järjestelmä- että sovellusohjelmistojen kehittämisen. Näin ollen sillä on tuotantovälineiden rooli ohjelmoinnissa.

Ohjelmointijärjestelmät– nämä ovat ohjelmakokonaisuuksia ja muita työkaluja, jotka on tarkoitettu ohjelmien kehittämiseen ja toimintaan tietyllä ohjelmointikielellä tietylle PC-arkkitehtuurille (alustalle).

Ohjelmointijärjestelmä sisältää yleensä tekstieditori ohjelmat, kääntäjä ohjelmat, kirjastot aliohjelmat ja linkkien editorit, debuggerit, apujärjestelmiä ja joskus erilaisia ​​tukiohjelmia.

Ohjelmointikieli on keinotekoinen kieli, jonka avulla kirjoitetaan algoritmi ongelman ratkaisemiseksi PC:n ymmärtämään muotoon.

Ohjelmointikieliä on monia, ja jokaisesta voi olla kymmeniä versioita. Jokainen ohjelmoija kirjoittaa ohjelmia hänelle sopivalla kielellä, eikä ole olemassa ohjelmointikieltä, jota pidetään yleisesti hyväksyttynä.

Mutta kaikilla ohjelmointikielillä on yksi yhteinen piirre. Ne ovat ohjelmoijille ymmärrettäviä, mutta prosessorille käsittämättömiä, koska prosessori voi työskennellä vain binäärilukujen kanssa ja ymmärtää siksi vain ohjelmia, jotka on kirjoitettu konekoodi. Siksi millä tahansa ohjelmointikielellä kirjoitetut ohjelmat ”käännetään” ensin prosessorikielelle, ts. muunnetaan konekoodiksi. Tämä käännös suoritetaan erityisillä käännösohjelmilla. Englannissa "käännös" on nimeltään käännös), siksi kutsutaan ohjelmia, jotka kääntävät ohjelmat konekoodikielelle lähetystoiminnan harjoittajat.

Lavalla lähetyksiä transformaatio tapahtuu lähdekoodi ohjelmat sisään kohdekoodi, jota käsitellään edelleen viestintäeditori. Linkkieditori on erityinen ohjelma, jonka avulla voit luoda latausmoduuli, soveltuu toteutukseen (kuva 6.2).

Riisi. 6.2. Kaavio käynnistysohjelmamoduulin luomisprosessista

Kääntäjiä on seuraavan tyyppisiä: tulkki, kääntäjä.

Tulkki ottaa seuraavan kielen operaattorin ohjelmatekstistä, analysoi sen rakenteen ja suorittaa sen välittömästi. Sitten hän siirtyy kohtaan seuraavalle operaattorille. Kääntäjä kääntää koko ohjelman konekäskyiksi.

Suosituimmat yleiset ohjelmointikielet ovat nykyään: Basic, Pascal, C++, Java.

Kullekin näistä ohjelmointikielistä on nykyään useita eri yritysten tuottamia ohjelmointijärjestelmiä, jotka on suunnattu erilaisiin PC-malleihin ja käyttöjärjestelmiin. Suosituimmat visuaaliset ympäristöt nopeaan ohjelmien suunnitteluun Windowsille ovat: Microsoft Visual Basic; Borland Delphi; Borland C++ Builder; Microsoft Visual Studio (Visual Basic.net, C++, C#, J#).

Nykyaikaiset ohjelmointijärjestelmät mahdollistavat ohjelmien luomisen, joita kutsutaan katseltaessa verkkosivuja maailmanlaajuisessa sähköisessä verkossa.

Erityinen ohjelmointijärjestelmien luokka ovat järjestelmät asiakas-palvelinsovellusten luomiseen. Näiden järjestelmien avulla voit nopeasti luoda tietojärjestelmiä osastoille ja jopa suurille yrityksille. Ne sisältävät työkaluja käyttöliittymän luomiseen, tietojenkäsittelyprosessien kuvaamiseen, malleja tyypillisten tietojenkäsittelytoimintojen suorittamiseen jne. Nämä järjestelmät antavat yleensä mahdollisuuden työskennellä useiden DBMS-järjestelmien kanssa - Oracle, Sybase, Microsoft SQL Server jne. Suosituimpia tällaisia ​​järjestelmiä ovat PowerBuilder Sybaselta, Delphi Borlandilta ja Visual Basic Microsoftilta. Työkaluja asiakas-palvelinsovellusten luomiseen on tietysti saatavilla myös osana asiakaspalvelin-DBMS:ää (Oracle, Sybase jne.), mutta ne keskittyvät vain tähän DBMS:ään.

Essee

OHJELMISTO - joukko ohjelmia tietojenkäsittelyjärjestelmää varten ja ohjelmadokumentit tarvitaan näiden ohjelmien toiminnan kannalta (GOST 19781-90). Myös - joukko ohjelmia, menettelyjä ja sääntöjä sekä tietojenkäsittelyjärjestelmän toimintaan liittyvä dokumentaatio (ST ISO 2382/1-84).

TYÖKALUOHJELMISTO – ohjelmisto, joka on tarkoitettu ohjelmien suunnitteluun, kehittämiseen ja ylläpitoon. Tyypillisesti tätä termiä käytetään korostamaan eroa tämän luokan ohjelmistojen ja sovellus- ja järjestelmäohjelmistojen välillä.

COMPILER – kääntäjä, joka muuntaa lähdekielellä kirjoitetun ohjelman objektimoduuliksi.

TULKKI - ohjelma (joskus laitteisto), joka analysoi komentoja tai ohjelmakäskyjä ja suorittaa ne välittömästi.

KÄYTTÖJÄRJESTELMÄ - joukko ohjaus- ja käsittelyohjelmia, jotka toisaalta toimivat rajapintana tietokonejärjestelmän laitteiden ja sovellusohjelmien välillä ja toisaalta on suunniteltu ohjaamaan laitteita, hallitsemaan laskentaprosesseja, jakamaan tehokkaasti laskentaresursseja laskentaprosesseja ja luotettavan laskennan järjestämistä .

SOVELLUSOHJELMA - ohjelma, joka on suunniteltu suorittamaan tiettyjä käyttäjän tehtäviä ja suunniteltu suoraan vuorovaikutukseen käyttäjän kanssa.

VISUALBASIC on Microsoft Corporationin kehittämä ohjelmistokehitystyökalu, joka sisältää ohjelmointikielen ja kehitysympäristön.

VISUALBASICFORAPPLICATION - hieman yksinkertaistettu Visual Basic -ohjelmointikielen toteutus, sisäänrakennettu tuotelinjaan Microsoft Office(mukaan lukien versiot Mac OS:lle), sekä monet muut ohjelmistopaketit, kuten AutoCAD, SolidWorks, CorelDRAW, WordPerfect ja ESRI ArcGIS.

Työn tarkoituksena on tutkia ohjelmistojen tyyppejä ja toimintoja, erityisesti instrumentaaliohjelmistoja.

Ohjelmistoluokitus:

Työkaluohjelmistotyypit:

1) Tekstieditorit

4) Kääntäjät

5) Tulkit

6) Linkkerit

8) Kokoonpanijat

9) Debuggerit

10) Profiloijat

11) Dokumentaatiogeneraattorit

Jotta voit luoda ohjelman valitulla ohjelmointikielellä, sinulla on oltava seuraavat komponentit:

2. Kääntäjä tai tulkki. Lähdeteksti käännetään väliobjektikoodiksi kääntäjäohjelmalla.

Työn tulos: Käsitellään ohjelmisto, sen toiminnot ja tyypit, erityisesti instrumentaaliohjelmistot, sen olemus ja tehtävät. Kolmannessa luvussa käsitellään Microsoft Visual Basicia ohjelmistokehitystyökaluna ja sen murretta - Microsoft Visual Basic for Application. SISÄÄN kurssityötä Pascal-ohjelmointikielellä toteutettiin algoritmi taloudellisen ja taloudellisen ongelman ratkaisemiseksi.

Johdanto

SISÄÄN moderni maailma Useampi kuin yksi ihminen, joka on kokeillut sivilisaation etuja, ei voi kuvitella elämäänsä käyttämättä tietokonelaitteisto. Sitä käytetään kaikilla ihmisen toiminnan aloilla: tuotanto, kauppa, koulutus, viihde ja ihmisten viestintä, heidän tieteellinen ja kulttuurinen toiminta. Kaikki tämä johtuu kyvystä valita tietokonelaitteet minkä tahansa, jopa monimutkaisimman ongelman ratkaisemiseksi.

Sekä tietotekniikan monipuolisuus että erikoistuminen varmistetaan kuitenkin käyttämällä erilaista ohjelmistoa lähes minkä tahansa tietokoneen pohjalta, joka tarjoaa ratkaisun mihin tahansa annettuun tehtävään.

Me kaikki näemme tietokoneohjelmien valtavan valikoiman ja niiden kasvun ja parantamisen huikean vauhdin, ja vain pieni osa meistä ymmärtää niiden suunnittelun, kehityksen ja luomisen näkymätöntä puolta. Tämä alue kuitenkin tietokone teknologia on mielestämme tärkein, sillä tietotekniikan tulevaisuus riippuu sen kehityksestä.

Ja koska minkä tahansa tietokoneohjelman kehittäminen tapahtuu instrumentaaliohjelmistolla, haluan kurssityössämme käsitellä sitä yksityiskohtaisesti korostaen sitä kaikista ohjelmistoista ja paljastaen sen olemuksen ja ominaisuudet.

Selvyyden vuoksi tarkastellaan instrumentaalisia ohjelmistoja (tutkimuskohde) VisualBasicforApplication-ohjelmistopaketin (tutkimusaihe) esimerkillä, jota käytetään ohjelmointiin Microsoft Office -ympäristössä - yleisin ja suosituin toimistopaketti.

1. Ohjelmisto

1.1 Ohjelmiston käsite ja olemus

Ohjelmisto (ohjelmisto) on olennainen osa tietokonejärjestelmä. Se on looginen jatko minkä tahansa tietokoneen teknisille keinoille. Tietyn tietokoneen käyttöalue määräytyy sille luodun ohjelmiston mukaan. Itse tietokoneella ei ole tietoa mistään sovelluksesta. Kaikki tämä tieto on keskittynyt tietokoneissa toimiviin ohjelmiin, joissa on tiettyjä toimintoja ja jotka on suunniteltu suorittamaan tiettyjä, useimmissa tapauksissa erittäin erikoistuneita toimintoja, kuten luonti ja käsittely. graafisia kuvia tai äänitiedostoja.

Ohjelmistot sisältävät tällä hetkellä satoja tuhansia ohjelmia, jotka on suunniteltu käsittelemään monenlaista tietoa monenlaisiin tarkoituksiin.

Ohjelmisto sisältää myös koko ohjelmistosuunnittelun ja -kehityksen toiminta-alueen:

1) ohjelmasuunnittelutekniikka (esim. ylhäältä alas -suunnittelu, strukturoitu ja oliosuunnittelu);

2) ohjelmien testausmenetelmät;

3) menetelmät ohjelmien oikeellisuuden osoittamiseksi;

4) ohjelmien laadun analysointi;

5) ohjelmien dokumentointi;

6) ohjelmistojen suunnittelua helpottavien ohjelmistotyökalujen kehittäminen ja käyttö ja paljon muuta.

Ohjelmistoille on monia erilaisia ​​määritelmiä. Yleensä ohjelmisto on joukko tietojenkäsittelyjärjestelmän ohjelmia ja ohjelmadokumentteja, jotka ovat välttämättömiä näiden ohjelmien toiminnalle (GOST 19781-90). Myös - joukko ohjelmia, menettelyjä ja sääntöjä sekä tietojenkäsittelyjärjestelmän toimintaan liittyvä dokumentaatio (ST ISO 2382/1-84).

Ohjelmisto on yksi tietokonejärjestelmän tukityypeistä sekä tekninen (laitteisto), matemaattinen, informaatio-, kielellinen, organisatorinen ja metodologinen tuki.

Tietokoneslangissa sanaa ohjelmisto käytetään usein englannin sanasta software, jota tässä mielessä käytti ensimmäisen kerran Princetonin yliopiston matemaatikko John W. Tukey American Mathematical Monthly -lehdessä vuonna 1958.

Muut määritelmät:

1) OHJELMISTO on joukko ohjelmia, jotka mahdollistavat tietojen automaattisen käsittelyn tietokoneessa.

2) OHJELMISTO (elektronisen tietokoneen matemaattinen tuki), tietojenkäsittelyjärjestelmän ohjelmasarja ja ohjelmadokumentit, joita tarvitaan ohjelmien toteuttamiseen sähköisessä tietokoneessa.

3) OHJELMISTO - joukko ohjelmia tietokoneen toiminnan ohjaamiseksi ja ohjelmoinnin automatisoimiseksi.

4) OHJELMISTO - joukko tietokoneohjelmia, jotka mahdollistavat tietojen käsittelyn tai siirron.

Kaikki määritelmät ovat samanlaisia ​​ja heijastavat ohjelmiston ydintä - laitteiston (teknisen) osan vuorovaikutuksen järjestäminen erilaisten sisäänrakennettujen solmujen ja oheislaitteiden muodossa, niiden ohjaus ja tietokonejärjestelmän yleisen vuorovaikutuksen koordinointi keskenään. ja käyttäjän kanssa.

1.2 Ohjelmiston toiminnot

Yllä olevat ohjelmistokäsitteet määrittävät ohjelmistojen suorittamat toiminnot tietokonelaitteiden toiminnan aikana. Näiden toimintojen luettelo on hyvin monipuolinen, mutta ne voidaan karkeasti jakaa seuraaviin viiteen tyyppiin:

1. Laitteisto ja mekaaninen. Ne yhdistävät tietokoneen eri komponentteja ja varmistavat laitteistosignaalin siirron komponentista toiseen.

2. Konelooginen. Käsittele ja tulkitse joukko sähkömagneettisia pulsseja laitteistosta loogisesti tietoiseksi ohjelmistokoodiksi, jolla on tietty rakenne ja ominaisuudet.

3. Tiedot ja komento. He tarkistavat ohjelmakoodin yhteensopivuuden järjestelmän periaatteiden kanssa ja luovat looginen rakenne tiedot ja toteuttaa ne.

4. Käyttöliittymä. Tarjoa ohjelmakoodin käsittely ja tulkinta käyttäjän käytettävissä olevaan näyttömuotoon. Luo suotuisan ympäristön "tietokone-ihminen, ihminen-tietokone" -vuorovaikutukselle.

5. Sovellettu. Suorittaa matemaattisia, loogisia, fyysisiä ja muita toimintoja saatavilla olevan tiedon joukolla, toisin sanoen käsittelee saatavilla olevaa tietoa tiettyjen ongelmien ratkaisemiseksi.

Tämä luettelo ei ole läheskään täydellinen, mikä osoittaa ohjelmiston suorittamien toimintojen monimuotoisuuden ja moniselitteisyyden.

1.3 Ohjelmistotyypit

Tietyn tietokonekomponentin tarjoamista toiminnoista riippuen on tarpeen luoda sille oma erikoisohjelmisto, joka on perusmotiivi erityyppisten ohjelmistojen luomiselle, kuten kuvassa (kuva 1):

a) Sovellusohjelmat, jotka tukevat suoraan käyttäjien vaatimien töiden suorittamista;

b) järjestelmäohjelmat, joka on suunniteltu ohjaamaan tietokonejärjestelmän toimintaa, suorittamaan erilaisia ​​aputoimintoja, esimerkiksi:

1) tietokoneresurssien hallinta;

2) kopioiden tekeminen käytetyistä tiedoista;

3) tietokonelaitteiden toimivuuden tarkistaminen;

4) viitetietojen antaminen tietokoneesta jne.;

c) instrumentaaliset ohjelmistojärjestelmät, jotka helpottavat uusien tietokoneohjelmien luomista.

Järjestelmäohjelmisto varmistaa tietokoneen toiminnan ja ylläpidon sekä uusien ohjelmien luontiprosessin automatisoinnin. Järjestelmäohjelmisto sisältää: käyttöjärjestelmät ja niiden käyttöliittymät; instrumentaalista ohjelmisto; huoltojärjestelmät.

Käyttöjärjestelmä on pakollinen osa erikoisohjelmistoa, joka varmistaa tehokkaan toiminnan henkilökohtainen tietokone eri tiloissa, ohjelmien suorituksen ja käyttäjävuorovaikutuksen organisointi ja ulkoisia laitteita tietokoneen kanssa.

Käyttöliittymä (palveluohjelmat) ovat ohjelmistolisäosia käyttöjärjestelmään (kuori ja ympäristö), jotka on suunniteltu yksinkertaistamaan käyttäjän viestintää käyttöjärjestelmän kanssa.

Ohjelmat, jotka tarjoavat käyttöliittymän, säilyttävät viestintämuodon (dialogi) käyttäjän ja käyttöjärjestelmän välillä, mutta vaihtavat viestinnän kieltä (yleensä komentokieli muunnetaan valikkokieleksi). Palvelujärjestelmät voidaan jakaa rajapintajärjestelmiin, kuoriin käyttöjärjestelmät ja apuohjelmia.

Käyttöliittymäjärjestelmät ovat tehokkaita, useimmiten graafisia palvelujärjestelmiä, jotka parantavat paitsi käyttäjän, myös käyttöjärjestelmien ohjelmarajapintaa, erityisesti toteuttamalla joitain lisätoimenpiteitä lisäresurssien jakamiseksi.

Käyttöjärjestelmän kuoret tarjoavat käyttäjälle laadullisesti uuden käyttöliittymän verrattuna käyttöjärjestelmän toteuttamaan käyttöliittymään ja tekevät tiedon viimeksi mainitusta valinnaiseksi.

Apuohjelmat automatisoivat tiettyjen vakiomuotoisten, usein käytettyjen toimenpiteiden suorittamisen, joiden toteuttaminen vaatisi käyttäjältä erityisohjelmien kehittämistä. Monilla apuohjelmilla on kehitetty interaktiivinen käyttöliittymä käyttäjän kanssa, ja ne lähestyvät kommunikaatiotasoa kuoriin.

Ohjelmistotyökalut (ohjelmointijärjestelmät) ovat pakollinen osa ohjelmistoa, jolla ohjelmia luodaan. Ohjelmistotyökaluihin kuuluvat työkalut ohjelmien kirjoittamiseen (tekstieditorit); välineet ohjelmien muuntamiseksi tietokoneella suoritettavaksi sopivaan muotoon (kokoajat, kääntäjät, tulkit, lataajat ja linkkieditorit), välineet ohjelmien valvontaan ja virheenkorjaukseen.

Tekstieditorien avulla voit kätevästi muokata, muodostaa ja yhdistää ohjelmatekstejä, ja joidenkin avulla voit hallita luotujen ohjelmien syntaksia.

Algoritmisella kielellä kirjoitettu ohjelma on muutettava konekielellä (binäärikoodilla) kirjoitetuksi objektimoduuliksi. Tällaisen muunnoksen suorittavat kääntäjät (assembler - Assembler-kielestä ja kääntäjät - korkean tason kielistä). Joillekin algoritmikielille käytetään tulkkeja, jotka eivät luo objektimoduulia, vaan kääntävät jokaisen ohjelman jokaisen peräkkäisen suorituksen yhteydessä sen yksittäiset rivit tai lauseet konekielelle. Objektimoduulia käsittelee latausohjelma - linkkieditori, joka muuntaa sen suoritettavaksi koneohjelmaksi.

Vianetsintätyökalujen avulla voit jäljittää ohjelmia (vaiheittainen suoritus ja tiedot suoritustuloksista), tarkistaa ohjelman syntaksin ja välitulokset keskeytyspisteissä ja muokata muuttujien arvoja näissä kohdissa.

Tekniset ja palvelua ovat ohjelmistotyökaluja tietokoneen, levyjen jne. suorituskyvyn valvontaan, diagnosointiin ja palauttamiseen.

Sovellusohjelmisto tarjoaa ratkaisuja käyttäjien ongelmiin. Avainkonsepti tässä on sovelluspaketti.

Sovellusohjelmistopaketti on joukko ohjelmia, joilla ratkaistaan ​​useita tiettyä aihetta tai aihetta koskevia ongelmia. Seuraavat sovelluspaketit erotetaan toisistaan:

1) yleinen tarkoitus- keskittynyt useiden käyttäjätehtävien automatisointiin (tekstinkäsittelyohjelmat, taulukkolaskentaohjelmat, tietokantojen hallintajärjestelmät, graafiset prosessorit, julkaisujärjestelmät, suunnittelun automaatiojärjestelmät jne.);

2) menetelmäkeskeinen - erilaisten taloudellisten ja matemaattisten menetelmien toteuttaminen ongelmien ratkaisemiseksi (matemaattinen ohjelmointi, verkon suunnittelu ja hallinta, jonoteoria, matemaattiset tilastot jne.);

3) ongelmakeskeinen - jolla pyritään ratkaisemaan tietty tehtävä (ongelma) tietyllä aihealueella (pankkipaketit, kirjanpitopaketit, taloushallinto, lakiviitejärjestelmät jne.).

Sovellusohjelmisto sisältää palveluohjelmistot, jotka järjestävät käyttäjälle mukavan työympäristön sekä suorittavat aputoimintoja (tiedonhallinnat, kääntäjät jne.).

Ohjelmistoluokitusta laadittaessa on otettava huomioon se, että laskentatekniikan nopea kehitys ja tietokonesovellusten laajeneminen ovat kiihdyttäneet ohjelmistokehitysprosessia voimakkaasti. Jos aiemmin oli helppo luetella ohjelmistojen pääkategoriat - käyttöjärjestelmät, kääntäjät, sovellusohjelmistopaketit, nyt tilanne on muuttunut radikaalisti. Ohjelmistokehitys on mennyt sekä syvemmälle (uusia lähestymistapoja käyttöjärjestelmien rakentamiseen, ohjelmointikieliä jne. on ilmaantunut) että laajalle (sovellusohjelmat ovat lakanneet soveltamasta ja ovat saaneet itsenäistä arvoa). Tarvittavien ohjelmistotuotteiden ja markkinoilla olevien ohjelmistotuotteiden suhde muuttuu erittäin nopeasti. Jopa klassiset ohjelmistotuotteet, kuten käyttöjärjestelmät, kehittyvät jatkuvasti ja niillä on älykkäitä toimintoja, joista monet aiemmin liittyivät vain ihmisen älyllisiin kykyihin.

2. Työkaluohjelmisto

2.1 Ohjelmistotyökalujen olemus ja käsite

Instrumentaaliohjelmisto (IPO) on ohjelmisto, joka on tarkoitettu ohjelmien suunnitteluun, kehittämiseen ja ylläpitoon.

Työkaluja käytetään kehitysvaiheessa. Työkaluohjelmisto on kokoelma ohjelmia, joita käytetään auttamaan ohjelmoijia heidän työssään, auttamaan ohjelmistokehitysjohtajia heidän pyrkimyksissään hallita kehitysprosessia ja tuloksena olevia tuotteita. Tämän ohjelmiston osan tunnetuimmat edustajat ovat ohjelmointikielien käännösohjelmat, jotka auttavat ohjelmoijia kirjoittamaan konekäskyjä. Instrumentaaliohjelmat ovat kääntäjiä kieliltä Fortran, Cobol, Joe-vial, BASIC, APL ja Pascal. Ne helpottavat uusien työohjelmien luomista. Kielenkääntäjät ovat kuitenkin vain instrumentaaliohjelmien tunnetuin osa; niitä on paljon.

Tietokoneiden käyttäminen uusien ohjelmien luomiseen on kaikkea muuta kuin itsestään selvää ihmisille, jotka eivät ole ammattiohjelmoijia. Usein käy niin, että ammattilaiset puhuvat työkaluohjelmistoista (kehitysvaihe) ja järjestelmäohjelmistoista (käyttövaihe) samassa hengityksessä olettaen, että ne, jotka eivät ole perehtyneet ammatinsa salaisuuksiin, ovat tietoisia tästä työkaluohjelmiston roolista. Sama kuin käyttövaiheessa (sovellusohjelmille), järjestelmätuki Se toimii myös kehitysvaiheessa, mutta vain työkalujen yhteydessä. Työkaluohjelmistot tai ohjelmointijärjestelmät ovat järjestelmiä, joilla automatisoidaan uusien ohjelmien kehittäminen ohjelmointikielellä.

Yleisimmässä tapauksessa, jotta voit luoda ohjelman valitulla ohjelmointikielellä (järjestelmän ohjelmointikieli), sinulla on oltava seuraavat komponentit:

1. Tekstieditori tiedoston luomiseen ohjelman lähdetekstillä.

2. Kääntäjä tai tulkki. Lähdeteksti käännetään väliobjektikoodiksi kääntäjäohjelmalla. Suuren ohjelman lähdekoodi koostuu useista moduuleista (lähdetiedostoista). Jokainen moduuli kootaan erilliseksi tiedostoksi objektikoodilla, joka sitten on yhdistettävä yhdeksi.

3. Linkkieditori tai -asentaja, joka linkittää objektimoduuleita ja tuottaa toimivan sovelluksen ulostulo-suoritettavana koodina.

Suoritettava koodi on täydellinen ohjelma, jota voidaan käyttää missä tahansa tietokoneessa, jossa on käyttöjärjestelmä, jota varten ohjelma luotiin. Tuloksena olevan tiedoston tunniste on yleensä .EXE tai .COM.

Viime aikoina Windows-sovellusten luomiseen tähtäävät visuaaliset ohjelmointimenetelmät (käyttäen komentosarjakieliä) ovat yleistyneet. Tämä prosessi on automatisoitu nopeissa suunnitteluympäristöissä. Tässä tapauksessa käytetään valmiita visuaalisia komponentteja, jotka konfiguroidaan erityisillä editoreilla.

Suosituimmat editorit (visuaalisia työkaluja käyttävät ohjelmaohjelmointijärjestelmät) visuaaliseen suunnitteluun:

1) Borland Delphi - suunniteltu ratkaisemaan melkein kaikki sovellusohjelmointiongelmat.

2) Borland C++ Builder on erinomainen työkalu DOS- ja Windows-sovellusten kehittämiseen.

3) Microsoft Visual Basic on suosittu työkalu Windows-ohjelmien luomiseen.

4) Microsoft Visual C++ - tämän työkalun avulla voit kehittää mitä tahansa sovelluksia, jotka toimivat käyttöjärjestelmäympäristössä, kuten Microsoft Windowsissa

Näin ollen instrumentaaliohjelmiston ydin on luoda mikä tahansa suoritettava ohjelma muuntamalla muodolliset loogiset lausekkeet suoritettavaksi konekoodiksi sekä sen ohjaus ja säätö.

2.2 Työkaluohjelmiston tehtävät ja toiminnot

Instrumentaalisille ohjelmistoille erityisenä ohjelmistotyyppinä on yleinen ja yksityinen

toimintoja, kuten kaikki ohjelmistot yleensä. Olemme keskustelleet yllä olevista yleisistä toiminnoista ja erikoistoiminnoista, jotka ovat ainutlaatuisia tämä tyyppi ohjelmat ovat:

1. Kehitettävän ohjelman tekstin luominen käyttämällä erityisesti määritettyjä koodisanoja (ohjelmointikieli), sekä tiettyjä merkkejä ja niiden sijaintia luodussa tiedostossa - ohjelman syntaksia.

2. Tekstin käännös luotu ohjelma konesuuntautuneeksi koodiksi, joka on käytettävissä tietokoneen tunnistamista varten. Jos luodun ohjelman volyymi on merkittävä, se jaetaan erillisiin moduuleihin ja jokainen moduuli käännetään erikseen.

3. Yksittäisten moduulien yhdistäminen yhdeksi suoritettavaksi koodiksi tarvittavan rakenteen mukaisesti varmistaen yksittäisten osien keskinäisen vuorovaikutuksen koordinoinnin.

4. Luodun ohjelman testaus ja valvonta, muoto-, loogisten ja syntaktisten virheiden tunnistaminen ja poistaminen, ohjelmien tarkistaminen kiellettyjen koodien varalta sekä luodun ohjelman suorituskyvyn ja potentiaalin arviointi.

2.3 Ohjelmistotyökalujen tyypit

Instrumentaaliohjelmistolle annettujen tehtävien perusteella voimme erottaa suuri määrä instrumentaaliohjelmistot eri tarkoituksiin:

1) Tekstieditorit

2) Integroidut kehitysympäristöt

4) Kääntäjät

5) Tulkit

6) Linkkerit

7) Jäsentimet ja jäsennysgeneraattorit (katso Javacc)

8) Kokoonpanijat

9) Debuggerit

10) Profiloijat

11) Dokumentaatiogeneraattorit

12) Koodipeittoanalyysityökalut

13) Jatkuvan integroinnin työkalut

14) Automaattiset testaustyökalut

15) Versionhallintajärjestelmät jne.

On huomattava, että myös työkaluohjelmat luovat kuoret sovellusohjelmien luomiseen, joten ne voidaan luokitella sovellusohjelmiksi. Tarkastellaanpa lyhyesti joidenkin instrumentaaliohjelmien tarkoitusta.

Tekstieditorit.

Tekstieditori - tietokoneohjelma, suunniteltu tekstitiedostojen käsittelyyn, kuten muutosten luomiseen ja tekemiseen.

Tekstieditorien tyypit.

Perinteisesti on olemassa kahdenlaisia ​​muokkausohjelmia: suoratoistotekstieditorit ja interaktiiviset.

Stream-tekstieditorit ovat tietokoneohjelmia, jotka on suunniteltu käsittelemään automaattisesti tekstitiedostosta saatua syötetekstidataa käyttäjien ennalta määrittämien sääntöjen mukaisesti. Useimmiten säännöt ovat säännöllisiä lausekkeita tietylle tekstieditorille ominaisessa murteessa. Esimerkki tällaisesta tekstieditorista on Sed-editori.

Interaktiiviset tekstieditorit ovat tietokoneohjelmien perhe, jotka on suunniteltu tekemään muutoksia tekstitiedosto interaktiivisesti. Tällaisten ohjelmien avulla voit näyttää tiedoston nykyisen tekstitietojen tilan ja suorittaa sille erilaisia ​​toimintoja.

Usein interaktiiviset tekstieditorit sisältävät merkittäviä lisätoimintoja, jotka on suunniteltu automatisoimaan osan muokkaustoimista tai muuttamaan tekstitietojen näyttöä niiden semantiikan mukaan. Esimerkki jälkimmäisestä toiminnallisuudesta on syntaksin korostus.

Tekstieditorit on suunniteltu tekstiasiakirjojen luomiseen ja muokkaamiseen. Yleisimmät ovat MS WORD, Lexicon. Päätoiminnot tekstieditorit ovat:

1) työstää asiakirjan fragmentteja,

2) muissa ohjelmissa luotujen objektien lisääminen

3) asiakirjan tekstin jakaminen sivuiksi

4) taulukoiden syöttäminen ja muokkaaminen

5) kaavojen syöttäminen ja muokkaaminen

6) kappaleen muotoilu

7) automaattinen luetteloiden luominen

8) sisällysluettelon automaattinen luominen.

Tunnetaan kymmeniä tekstieditoreja. Helpoimpia ovat NOTEPAD (muistilehtiö), WORDPAD, WORD. Tietyn tekstieditorin toiminnan määräävät yleensä toiminnot, joiden tarkoitus näkyy valikkokohdissa ja ohjejärjestelmässä.

Integroitu kehitysympäristö

Integrated Development Environment, ISD, on ohjelmistojärjestelmä, jota ohjelmoijat käyttävät ohjelmistojen kehittämiseen. Tyypillisesti kehitysympäristö sisältää:

1) tekstieditori

2) kääntäjä ja/tai tulkki

3) kokoonpanoautomaatiotyökalut

4) debuggeri.

Joskus se sisältää myös työkaluja integrointiin versionhallintajärjestelmiin ja erilaisia ​​työkaluja graafisen käyttöliittymän suunnittelun yksinkertaistamiseksi. Monet nykyaikaiset kehitysympäristöt sisältävät myös luokkaselaimen, objektitarkistusohjelman ja luokkahierarkiakaavion oliopohjaisessa ohjelmistokehityksessä. On kuitenkin olemassa kehitysympäristöjä, jotka on suunniteltu useille ohjelmointikielille - kuten Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator tai Microsoft Visual Studio, yleensä kehitysympäristö on tarkoitettu yhdelle tietylle ohjelmointikielelle - kuten Visual Basic, Delphi, Dev-C++.

ISR:n erikoistapaus on visuaalinen kehitysympäristö, joka sisältää mahdollisuuden visuaalisesti muokata ohjelman käyttöliittymää.

SDK.

SDK (englanninkielisestä SoftwareDevelopmentKitistä) tai "devkit" on kehityspaketti, jonka avulla ohjelmistoasiantuntijat voivat luoda sovelluksia tietylle ohjelmistopaketille, ydinkehitysohjelmistolle, laitteistoalustalle, tietokonejärjestelmälle, videopelikonsoleille, käyttöjärjestelmille ja muille alustoille.

Ohjelmoija saa pääsääntöisesti SDK:n suoraan kohdeteknologian tai -järjestelmän kehittäjältä. Usein SDK jaetaan Internetin kautta. Monet SDK:t jaetaan ilmaiseksi kannustaakseen kehittäjiä käyttämään tiettyä tekniikkaa tai alustaa.

SDK-toimittajat joskus korvaavat termin Software in Software Development Kit tarkemmalla sanalla. Esimerkiksi Microsoft ja Apple tarjoavat Driver Development Kit (DDK) laiteajurien kehittämiseen, ja PalmSource kutsuu kehitystyökalupakettiaan PalmOS Development Kitiksi (PDK).

SDK-esimerkkejä :

5) Java-kehityspaketti

6) Opera Devices SDK

Kääntäjät.

Kääntäjä -

1) Ohjelma tai tekninen työkalu, joka suorittaa kääntämisen.

2) Kääntämiseen käytetty koneohjelma.

3) Kääntäjä, joka muuntaa lähdekielellä kirjoitetun ohjelman objektimoduuliksi.

4) Ohjelma, joka kääntää ohjelmatekstin korkean tason kielellä vastaavaksi konekieliseksi ohjelmaksi.

5) Ohjelma, joka on suunniteltu kääntämään korkean tason kieli absoluuttiseksi koodiksi tai joskus kokoonpanokieleksi. Syötä tiedot kääntäjälle ( lähde) on algoritmin tai ohjelman kuvaus ongelmakeskeisellä kielellä, ja kääntäjän tulos on vastaava kuvaus algoritmista konesuuntautuneella kielellä (objektikoodi).

Kokoelma -

1) Ohjelman kääntäminen kielelle, joka on lähellä konekieltä.

2) Lähdekielellä kirjoitetun ohjelman kääntäminen objektimoduuliksi. Suorittaa kääntäjä.

Käännä - käännä koneohjelma ongelmalähtöisestä kielestä konesuuntautuneeksi kieleksi.

Kääntäjätyypit :

1) Vektorisointi. Kääntää lähdekoodin konekoodiksi tietokoneissa, joissa on vektorisuoritin.

2) Joustava. Modulaarinen, taulukkokäyttöinen ja ohjelmoitu korkean tason kielellä tai toteutettu kääntäjien kääntäjällä.

3) Vuoropuhelu.

4) Inkrementaalinen. Lähettää uudelleen ohjelman fragmentteja ja lisäyksiä siihen kääntämättä koko ohjelmaa uudelleen.

5) Tulkinta (askel askeleelta). Suorittaa peräkkäin itsenäisen käännöksen jokaisesta lähdeohjelman yksittäisestä käskystä (komennosta).

6) Kääntäjien kääntäjä. Kääntäjä, joka hyväksyy ohjelmointikielen muodollisen kuvauksen ja luo kääntäjän tälle kielelle.

7) Debug. Poistaa tietyntyyppiset syntaksivirheet.

8) Asukas. Säilyy pysyvästi päämuistissa ja on käytettävissä uudelleenkäyttö monia tehtäviä.

9) Itse koonnut. Kirjoitettu samalla kielellä, josta lähetys suoritetaan.

10) Universaali. Perustuu muodolliseen syöttökielen syntaksin ja semantiikan kuvaukseen. Tällaisen kääntäjän komponentit ovat: ydin, syntaktiset ja semanttiset latausohjelmat.

Kokoonpanotyypit :

1) Erä. Useiden lähdemoduulien kääntäminen yhdeksi tehtäväksi.

2) Rivi riviltä.

3) Ehdollinen. Kokoelma, jossa käännetty teksti riippuu lähdeohjelmassa määritetyistä ehdoista. Joten, riippuen tietyn vakion arvosta, voit kytkeä ohjelman tekstin osan kääntämisen päälle tai pois.

Kääntäjän rakenne.

Kokoamisprosessi koostuu seuraavista vaiheista:

1) Leksinen analyysi. Tässä vaiheessa lähdetiedoston merkkisarja muunnetaan merkkijonoksi.

2) Syntaktinen (kielioppi) analyysi. Tokenien sarja muunnetaan jäsennyspuuksi.

3) Semanttinen analyysi. Jäsennyspuuta käsitellään sen semantiikan (merkityksen) määrittämiseksi - esimerkiksi tunnisteiden sitominen niiden ilmoituksiin, tyyppeihin, yhteensopivuuden tarkistaminen, lauseketyyppien määrittäminen jne. Tulosta kutsutaan yleensä "väliesitys/koodi" ja sitä voidaan laajentaa jäsennyspuu, uusi puu, abstrakti komentosarja tai jokin muu kätevä jatkokäsittelyä varten.

4) Optimointi. Tarpeettomien rakenteiden poistaminen ja koodin yksinkertaistaminen säilyttäen samalla sen merkityksen. Optimointi voi olla eri tasoilla ja vaiheissa - esimerkiksi välikoodissa tai lopullisessa konekoodissa.

5) Koodin luominen. Väliesityksen perusteella generoidaan koodi kohdekielellä.

Tietyissä kääntäjätoteutuksissa nämä vaiheet voidaan erottaa tai yhdistää tavalla tai toisella.

Lähetys ja jälkituotanto.

Tärkeä kääntäjän historiallinen piirre, joka näkyy sen nimessä (englanniksi: compile - koota, muodostaa), että se pystyi myös linkittämään (eli se sisälsi kaksi osaa - kääntäjän ja linkittäjän). Tämä johtuu siitä, että erillinen käännös ja linkittäminen erillisenä kokoonpanovaiheena syntyivät paljon myöhemmin kuin kääntäjien tulo. Tässä suhteessa termiä "kääntäjä" käytetään joskus synonyyminä "kääntäjä" -sanan sijaan: joko vanhassa kirjallisuudessa tai kun halutaan korostaa sen kykyä kääntää ohjelma konekoodiksi (ja päinvastoin, termiä "kääntäjä" käytetään korostamaan kykyä kääntää useista tiedostoista yksi).

Tulkit.

Tulkki (ohjelmointikieli) -

1) Ohjelma tai tekninen työkalu, joka suorittaa tulkinnan.

2) Kääntäjätyyppi, joka suorittaa lähdeohjelman tai kyselyn käskykohtaisen (komentokohtaisesti) käsittelyn ja suorittamisen (toisin kuin kääntäjä, joka kääntää koko ohjelman suorittamatta sitä).

3) Ohjelma (joskus laitteisto), joka analysoi komentoja tai ohjelmakäskyjä ja suorittaa ne välittömästi.

4) Kieliprosessori, joka analysoi lähdeohjelman rivi riviltä ja suorittaa samanaikaisesti määrätyt toiminnot sen sijaan, että se luo konekielellä käännetyn ohjelman, joka suoritetaan myöhemmin.

Tulkkien tyypit.

Yksinkertainen tulkki analysoi ja suorittaa välittömästi (varsinaisen tulkinnan) ohjelman komento-komento (tai rivi riviltä), kun sen lähdekoodi saapuu tulkin tuloon. Tämän lähestymistavan etuna on välitön vastaus. Haittapuolena on, että tällainen tulkki havaitsee virheet ohjelmatekstissä vain silloin, kun yritetään suorittaa virheellinen komento (tai rivi).

Kääntäjätyyppinen tulkki on järjestelmä, joka koostuu kääntäjästä, joka kääntää ohjelman lähdekoodin väliesitykseen, esimerkiksi tavukoodiksi tai p-koodiksi, ja tulkista itsestään, joka suorittaa tuloksena olevan välikoodin (ns. kutsutaan virtuaalikoneeksi). Tällaisten järjestelmien etuna on suurempi ohjelman suoritusnopeus (johtuen lähdekoodianalyysin poistamisesta erilliseksi, kertaluonteiseksi siirroksi ja tämän analyysin minimoimisesta tulkissa). Haitat ovat suurempi resurssivaatimus ja vaatimus lähdekoodin oikeellisuudesta. Sitä käytetään kielissä, kuten Java, PHP, Python, Perl (käytetään tavukoodia), REXX (lähdekoodin jäsentämisen tulos tallennetaan) sekä erilaisissa DBMS-järjestelmissä (käytetään p-koodia).

Jos kääntäjätyyppinen tulkki jaetaan komponentteihin, tuloksena on kielen kääntäjä ja yksinkertainen tulkki, jonka lähdekoodianalyysi on vähäinen. Lisäksi tällaisen tulkin lähdekoodia ei välttämättä tarvitse olla tekstimuoto tai tavukoodi, jonka vain tietty tulkki ymmärtää, se voi olla jonkin olemassa olevan laitteistoalustan konekoodi. Esim, virtuaalikoneita kuten QEMU, Bochs, VMware sisältävät konekooditulkkeja x86-perheen prosessoreille.

Jotkut tulkit (esimerkiksi kielille Lisp, Scheme, Python, BASIC ja muille) voivat työskennellä dialogitilassa tai ns. read-eval-printloop (REPL) -tilassa. Tässä tilassa tulkki lukee täydellisen kielirakenteen (esimerkiksi s-lausekkeen Lispissä), suorittaa sen, tulostaa tulokset ja jatkaa sitten odottamaan, että käyttäjä syöttää seuraavan rakenteen.

Ainutlaatuinen on Forth-kieli, joka pystyy toimimaan sekä syöttötietojen tulkinta- että käännöstiloissa, jolloin voit vaihtaa näiden tilojen välillä milloin tahansa sekä lähdekoodin kääntämisen aikana että ohjelmien ollessa käynnissä.

On myös huomattava, että tulkintatilat löytyvät paitsi ohjelmistoista myös laitteisto. Siten monet mikroprosessorit tulkitsevat konekoodia käyttämällä sisäänrakennettua laiteohjelmistoa, ja x86-perheen prosessorit, alkaen Pentiumista (esimerkiksi Intel P6 -arkkitehtuurissa), konekoodin suorittamisen aikana esikääntävät sen sisäiseen muotoon. (mikrooperaatioiden sarjaksi).

Algoritmi yksinkertaiselle tulkille :

2. analysoida ohjeet ja määrittää asianmukaiset toimenpiteet;

3. ryhtyä asianmukaisiin toimiin;

4. Jos ohjelman lopetusehtoa ei saavuteta, lue seuraavat ohjeet ja siirry vaiheeseen 2.

Tulkkien edut ja haitat.

1) Parempi tulkittujen ohjelmien siirrettävyys - ohjelma toimii millä tahansa alustalla, jolla on sopiva tulkki.

2) Pääsääntöisesti edistyneemmät ja visuaaliset keinot lähdekoodien virheiden diagnosointiin.

3) Ohjelman lähdekoodien virheenkorjauksen yksinkertaistaminen.

4) Pienemmät koodikoot verrattuna tavanomaisista kääntäjistä saatuun konekoodiin.

1) Tulkittua ohjelmaa ei voi suorittaa erikseen ilman tulkkiohjelmaa. Itse tulkki voi olla hyvin kompakti.

2) Tulkittu ohjelma toimii hitaammin, koska lähdekoodin välianalyysi ja sen suorituksen ajoittaminen vaativat lisäaikaa verrattuna sen konekoodin suoritukseen, johon lähdekoodi voitaisiin kääntää.

3) Koodioptimointia ei käytännössä ole, mikä johtaa ylimääräisiin menetyksiin tulkittujen ohjelmien nopeudessa.

Linkki.

Linkkeri (myös linkkieditori, linkijä) - linkitystä suorittava ohjelma - ottaa syötteeksi yhden tai useamman objektimoduulin ja kokoaa niistä suoritettavan moduulin.

Linkittäjä käyttää moduulien linkittämistä nimitaulukoita, jotka kääntäjä on luonut kussakin objektimoduulissa. Tällaisia ​​nimiä voi olla kahta tyyppiä:

1) Määritetyt tai viedyt nimet - funktiot ja muuttujat, jotka on määritelty tietyssä moduulissa ja jotka on asetettu muiden moduulien käyttöön.

2) Määrittämättömät tai tuodut nimet - funktiot ja muuttujat, joihin moduuli viittaa, mutta ei määrittele niitä sisäisesti.

Linkittäjän tehtävänä on selvittää viittaukset määrittelemättömiin nimiin kussakin moduulissa. Jokaisen tuodun nimen määritelmä löytyy muista moduuleista, nimen maininta korvataan sen osoitteella.

Linkkeri ei yleensä tarkista proseduurien ja toimintojen parametrien tyyppejä ja lukumäärää. Jos sinun on yhdistettävä ohjelmien objektimoduuleja, jotka on kirjoitettu vahvasti kirjoittamalla, lisäapuohjelman on suoritettava tarvittavat tarkistukset ennen linkkieditorin käynnistämistä.

Kokoonpanija.

Assembler (englanniksi assembler - assembler) on tietokoneohjelma, kokoonpanokielellä kirjoitetun ohjelman lähdetekstin kääntäjä konekieliseksi ohjelmaksi.

Kuten itse (kokoonpano)kieli, assemblerit ovat tyypillisesti erityisiä tietylle arkkitehtuurille, käyttöjärjestelmälle ja kielen syntaksin variantille. Samaan aikaan on olemassa monialustaisia ​​tai jopa universaaleja (tarkemmin sanottuna rajoitettu-universaalisia, koska laitteistosta riippumattomia ohjelmia on mahdotonta kirjoittaa matalan tason kielellä) kokoajia, jotka voivat toimia eri alustoilla ja käyttöjärjestelmillä. Jälkimmäisistä voidaan erottaa myös ryhmä ristiinkokoonpanolaitteita, jotka kykenevät keräämään konekoodia ja suoritettavia moduuleja (tiedostoja) muille arkkitehtuureille ja käyttöjärjestelmille.

Kokoonpano ei välttämättä ole ensimmäinen tai viimeinen vaihe suoritettavan ohjelmamoduulin hankkimisessa. Siten monet kääntäjät korkean tason ohjelmointikielistä tuottavat tuloksen kokoonpanokieliohjelman muodossa, jonka kokoaja käsittelee edelleen. Kokoonpanon tulos ei myöskään voi olla suoritettava, vaan konekoodin ja ohjelmatiedon erillisiä ja toisiinsa liittymättömiä osia sisältävä objektimoduuli, josta (tai useista objektimoduuleista) voidaan myöhemmin koota linkkiohjelman ("linker") avulla. suoritettava tiedosto.

Debuggeri tai debuggeri on kehitysympäristömoduuli tai erillinen sovellus, joka on suunniteltu etsimään ohjelman virheitä. Debuggerin avulla voit suorittaa vaiheittaisen jäljityksen, seurata, asettaa tai muuttaa muuttujaarvoja ohjelman suorittamisen aikana, asettaa ja poistaa keskeytyskohtia tai pysäytysehtoja ja niin edelleen.

Luettelo debuggereista.

1) AQtime on kaupallinen virheenkorjausohjelma sovelluksille, jotka on luotu .NET Frameworkin versioille 1.0, 1.1, 2.0, 3.0, 3.5 (mukaan lukien ASP.NET-sovellukset), sekä Windows 32- ja 64-bittisille sovelluksille.

2) DTrace - dynaaminen jäljityskehys Solaris-, OpenSolaris-, FreeBSD-, Mac OS X- ja QNX-käyttöjärjestelmille.

3) Electric Fence - muistin debuggeri.

4) GNU Debugger (GDB) - ohjelman debuggeri GNU-projektista.

5) IDA on tehokas purkuohjelma ja matalan tason virheenkorjausohjelma Windows- ja Linux-käyttöjärjestelmille.

6) Microsoft Visual Studio - ohjelmistokehitysympäristö, joka sisältää Microsoftin vianetsintätyökalut.

7) OllyDbg on ilmainen matalan tason virheenkorjausohjelma Windows-käyttöjärjestelmille.

8) SoftICE on matalan tason virheenkorjausohjelma Windows-perheen käyttöjärjestelmille.

9) Sun Studio - ohjelmistokehitysympäristö, mukaan lukien dbx-debuggeri Solaris- ja Linux-käyttöjärjestelmille, Sun Microsystems Corporationilta.

10) Dr. Watson on tavallinen Windows-debuggeri, jonka avulla voit luoda muistivedoksia.

11) TotalView on yksi kaupallisista UNIX-virheenkorjausohjelmista.

12) WinDbg on ilmainen virheenkorjausohjelma Microsoftilta.

Documentation Generator on ohjelma tai ohjelmistopaketti, jonka avulla voit hankkia ohjelmoijille (API-dokumentaatio) ja/tai järjestelmän loppukäyttäjille tarkoitettua dokumentaatiota erityisesti kommentoitulle lähdekoodille ja joissain tapauksissa suoritettaville moduuleille (saatu lähdössä kääntäjästä).

Tyypillisesti generaattori analysoi ohjelman lähdekoodia korostaen merkittäviä ohjelmaobjekteja (tyypit, luokat ja niiden jäsenet/ominaisuudet/menetelmät, menettelyt/funktiot jne.) vastaavat syntaktiset rakenteet. Analyysissä käytetään myös ohjelmaobjektien metatietoa, joka esitetään dokumentoivien kommenttien muodossa. Kaiken kerätyn tiedon perusteella luodaan valmiita dokumentaatioita, yleensä jossakin yleisesti hyväksytyistä muodoista - HTML, HTMLHelp, PDF, RTF ja muut.

Kommenttien dokumentointi.

Dokumentointikommentti on erityisesti muotoiltu kommentti ohjelmaobjektiin, joka on tarkoitettu tietyn dokumentaation luontiohjelman käyttöön. Kommenttien dokumentoinnissa käytettyjen konstruktien syntaksi riippuu käytetystä dokumentaatiogeneraattorista.

Dokumentointikommentit voivat sisältää tietoja koodin tekijästä, kuvailla ohjelmaobjektin tarkoitusta, toiminnon/proseduurin syöttö- ja lähtöparametrien merkitystä, käyttöesimerkkejä, mahdollisia poikkeustilanteita ja toteutusominaisuuksia.

Dokumentointikommentit muotoillaan yleensä monirivisiksi C-tyylisiksi kommenteiksi. Kussakin tapauksessa kommentin on oltava ennen dokumentoitavaa elementtiä. Kommentin ensimmäisen merkin (ja kommenttirivien alussa) on oltava *. Lohkot erotetaan tyhjillä viivoilla.

3. Visual Basic sovelluksille

ohjelmiston käyttöjärjestelmä

3.1 VisualBasicin ydin ja sen lyhyt historia

Microsoft Visual Basic (VB) on Microsoft Corporationin kehittämä ohjelmistokehitystyökalu, joka sisältää ohjelmointikielen ja kehitysympäristön. Visual Basic -kieli peri esi-isänsä hengen, tyylin ja osittain syntaksin - BASIC-kielen, jossa on monia murteita. Samaan aikaan Visual Basic yhdistää olio- ja komponenttisuuntautuneiden ohjelmointikielten proseduurit ja elementit. VB-kehitysympäristö sisältää työkalut käyttöliittymien visuaaliseen suunnitteluun. (katso taulukko).

Visual Basic (tärkeimmät ominaisuudet)

Visual Basic otetaan huomioon hyvä lääke ohjelmaprototyyppien nopea kehittäminen, tietokantasovellusten kehittäminen ja yleensä komponenttipohjainen menetelmä Microsoft Windows -perheen käyttöjärjestelmissä toimivien ohjelmien luomiseksi.

Evoluutioprosessissa Visual Basic kävi läpi useita peräkkäisiä vaiheita, joiden ansiosta siitä tuli yksi suosituimmista ohjelmointikielistä nykyään. Evoluutio siis VisualBasic toimi seuraavasti:

1. Toukokuu 1991 - Visual Basic 1.0 julkaistiin Microsoft Windowsille. QBasic-syntaksi otettiin kielen perustaksi ja innovaatio, joka myöhemmin toi kielelle valtavan suosion, oli kielen ja graafisen käyttöliittymän välinen yhteysperiaate.

2. Syyskuu 1992 - Visual Basic 1.0 DOS:lle julkaistiin. Se ei ollut täysin yhteensopiva VB:n Windows-version kanssa, koska se oli QuickBASICin myöhempi versio ja toimi tekstipohjaisessa näyttötilassa.

3. Marraskuu 1992 - Visual Basic 2.0 julkaistiin. Kehitysympäristöstä tuli helpompi käyttää ja nopeampi.

4. kesällä 1993 - Visual Basic 3.0 julkaistiin Standard- ja Professional-versioina. Lisäksi pakettiin on lisätty moottori Access-tietokantojen kanssa työskentelemiseen.

5. Elokuu 1995 - Visual Basic 4.0 - versio, joka voi luoda sekä 32- että 16-bittisiä Windows-ohjelmia.

6. Helmikuu 1997 - Visual Basic 5.0 - tästä versiosta alkaen tuli mahdolliseksi tavallisten sovellusten lisäksi kehittää COM-komponentteja.

7. Vuoden 1998 puolivälissä julkaistiin Visual Basic 6.0. Tämän jälkeen Microsoft muutti dramaattisesti peruskieliä koskevaa käytäntöään. Visual Basicin kehittämisen sijaan luotiin kokonaan uusi kieli, Visual Basic .NET.

8. Vuonna 2005 Visual Basicista julkaistiin uusi versio, joka oli mukana Visual Studiossa. Hän oli tyytyväinen uuteen käyttöliittymään ja ominaisuuksiin. Kieli perustuu Visual Basic.NETiin.

9. Microsoft julkaisi vuoden 2007 lopussa uusi versio Visual Basic - Visual Basic 2008, joka myös perustui Visual Basic.NETiin.

Sovelluksen toiminnallisuuden ja erityispiirteiden perusteella voidaan erottaa seuraavat tämän ohjelman tyypit:

1. Klassinen Visual Basic (versiot 5-6) Tämä kieli on erittäin vahvasti sidottu kehitysympäristöönsä ja Windows-käyttöjärjestelmään, koska se on yksinomaan työkalu Windows-sovellusten kirjoittamiseen

2. VisualBasicforApplications (VBA) Tämä on ohjelmointityökalu, joka ei käytännössä eroa klassisesta Visual Basicista, joka on suunniteltu makrojen ja muiden sovellusohjelmien kirjoittamiseen tiettyjä sovelluksia varten. Saavutti suurimman suosion käytön ansiosta Microsoftin paketti Toimisto. Visual Basic for Applications -sovelluksen laaja käyttö yhdistettynä siihen, että tietoturvakysymyksiin ei ensin kiinnitetty huomiota, on johtanut makrovirusten laajaan käyttöön.

3. VisualBasicScriptingEdition (VBScript) Skriptikieli, joka on jonkin verran katkaistu versio tavallisesta Visual Basicista. Käytetään pääasiassa hallinnon automatisointiin Windows-järjestelmät, sekä ASP-sivujen ja skriptien luomiseen Internet Explorerille.

3.2 VisualBasicforApplication-käyttöliittymä, tärkeimmät toiminnot ja ominaisuudet

Luomalla VisualBasicforApplicationin Microsoft Corporation asetti päätavoitteekseen luomisen instrumentointi, joka on saatavilla käyttäjille, jotka eivät ole ammattiohjelmoijia, mutta jotka ovat samalla riittävän päteviä kehittämään ja suunnittelemaan sovellusohjelmia ja Microsoft Office -pohjaisia ​​sovelluksia. Tämän ongelman ratkaisemiseksi kehittäjät loivat VBA:n ja antoivat sille useita ainutlaatuisia ominaisuuksia. Yksi niistä, arvokkain käyttäjälle, on kyky luoda ja käyttää ei-standardista (mukautettua) valintaikkunat, UserForm-objektin lisääminen projektiin sekä kätevä käyttöliittymä.

VisualBasicforApplication-ohjelman käyttöliittymä koostuu kompleksista erilaisia ​​ikkunoita ja luotavan sovelluksen suunnittelussa käytetyt välilehdet, joista tärkeimmät ovat:

1) Projekti-ikkuna (Kuva 2), joka näyttää luodun projektin rakenteen.

2) Ohjelmakoodiikkuna (kuva 3), joka näyttää luodun projektin ohjelmakoodin ja mahdollistaa ohjelman kirjoittamisen klassisella tavalla käyttämällä sisäänrakennettua koodisanaeditoria, jota on yli 16 tuhatta VBA:ssa. Tässä ikkunassa voit myös muokata koodia ja tarkistaa sen virheiden varalta.

3) Ominaisuudet-välilehti (kuva 4), joka näyttää määritetylle objektille asetetut parametrit ja mahdollistaa määritettyjen asetusten muuttamisen.

Siirtymällä ikkunoiden ja välilehtien välillä käyttäjä voi helposti muokata luotua projektia.

VBA:n käyttäjien luomilla lomakkeilla voit luoda mukautettuja valintaikkunoita tietojen näyttämiseksi tai arvojen vastaanottamiseksi ohjelman käyttäjältä ohjelman tarpeita parhaiten vastaavalla tavalla. Voit esimerkiksi luoda testin, näyttää valintaikkunan monivalintakysymyksiä varten ja antaa käyttäjän valita yhden vastausvaihtoehdoista, jonka hän uskoo olevan oikea.

Epätyypillisten valintaikkunoiden avulla ohjelma voi olla vuorovaikutuksessa käyttäjän kanssa mitä monimutkaisimmalla tavalla ja tarjota monipuolisia tiedonsyöttö- ja tulostusmuotoja.

Mukautettu valintaikkuna luodaan VBA:ssa lisäämällä projektiin UserForm-objekti. Tämä objekti edustaa tyhjää valintaikkunaa; siinä on otsikkopalkki ja sulkemispainike, mutta siinä ei ole muita säätimiä. Mukautettu valintaikkuna luodaan lisäämällä säätimiä UserForm-objektiin, ja sitä kutsutaan yleensä yksinkertaisesti lomakkeeksi (kuva 5).

Jokaisella UserForm-objektilla on ominaisuuksia, menetelmiä ja tapahtumia, jotka se perii UserForm-objektiluokasta.

Jokainen UserForm-objekti sisältää myös luokkamoduulin, johon käyttäjä lisää omia menetelmiään ja ominaisuuksia tai kirjoittaa tapahtumankäsittelyproseduurit tietylle lomakkeelle.

Mahdollisuus luoda oma käyttöliittymä sovellusympäristöstä, kuten Excelistä, näyttölomakkeiden avulla on yksi VBA:n arvokkaimmista ominaisuuksista.

Näyttölomakkeet ovat käyttäjän sovellustaan ​​varten luomia eri tarkoitusten ja tyyppisiä ikkunoita. Ne sisältävät säätimiä, joiden avulla käyttäjä voi vaihtaa tietoja sovelluksen kanssa.

VBA käyttää luotua lomakkeen graafista suunnittelua - lomakkeen ominaisuuksien ja säätimien asetuksilla - saadakseen kaikki valintaikkunan näyttämiseen tarvittavat tiedot: valintaikkunan mitat, siinä olevat säätimet jne. Tämän seurauksena VBA mahdollistaa valintaikkunalomakkeen näyttämisen yhdellä lauseella.

Voit näyttää mukautetun valintaikkunan käyttämällä UserForm-objektin Näytä-menetelmää. Jos lomaketta ei ole ladattu muistiin, Näytä-menetelmä lataa lomakkeen ja näyttää sen. Jos lomake on jo ladattu, Näytä-menetelmä yksinkertaisesti näyttää sen.

Yhden valintaikkunan näyttäminen ei yleensä riitä tehtävän suorittamiseen. Haluat melkein aina määrittää valintaikkunan säätimien tilan saadaksesi selville, mitä tietoja tai vaihtoehtoja käyttäjä on valinnut. Jos esimerkiksi valintaikkunan avulla saadaan käyttäjältä tietoja siitä, minkä sarakkeiden ja rivien mukaan laskentataulukko tulee lajitella, sinun on pystyttävä selvittämään, mitä arvoja käyttäjä on syöttänyt valintaikkunan sulkemisen jälkeen ja ennen tilaustoiminta alkaa itse asiassa.

Muissa tapauksissa saatat haluta muuttaa dynaamisesti valintaikkunan painikkeiden (tai muiden säätimien) otsikoita, päivittää dynaamisesti laskuriin liittyvää tarraa tai kenttää tai tarkistaa dynaamisesti valintaikkunaan syötetyt tiedot.

VBA:ssa on mahdollista laajentaa merkittävästi vakiosovellukseen, kuten Microsoft Exceliin, sisäänrakennettua toimintosarjaa sekä luoda toimintoja, joiden arvot riippuvat tietyistä olosuhteista ja tapahtumista.

VBA:n avulla voit ohjelmoida taulukkofunktioita. Jos haluat luoda erillisen laskentataulukon ohjelmamoduulille, käytä Visual-valikon Lisää moduuli -välilehteä ja Lisää makro -valikon Moduuli-komentoa. Tämän jälkeen näkyviin tulee uusi laskentataulukko "Modele1". Ohjelmamoduulissa sinun on kuvattava funktio VBA:ssa. Voit työskennellä ohjelmamoduuli-ikkunassa kuin olisit pienessä tekstieditori-ikkunassa.

Toimintojen upottaminen suoritetaan Näytä-valikon Object Browser -komennolla. Käyttäjän määrittämiä toimintoja käsitellään ohjelmassa itsenäisinä objekteina. VBA:ssa on merkittävä joukko sisäänrakennettuja toimintoja, jotka jakavat ne tyyppeihin.

Visual Basicin avulla voit varata muuttujia koolla tai ilman, työskennellä eri tietotyyppien kanssa, käyttää vakioita, työskennellä matemaattisten operaattoreiden ja funktioiden kanssa sekä käyttää lisäoperaattoreita. Käytetään silmukkaoperaattoreita For Next, Do ja "ajastin"-tyyppisiä objekteja (näkymätön sekuntikello ohjelmassa). Ajan asettamisen tarkkuus ohjelmassa on 1 millisekunti tai 1/1000 sekuntia. Käynnistetty ajastin on jatkuvasti käynnissä - ts. vastaava keskeytyskäsittely suoritetaan tietyllä aikavälillä - kunnes käyttäjä pysäyttää ajastimen tai poistaa ohjelman käytöstä.

VBA:ssa voit määrittää lomakkeelle minkä tahansa ominaisuuden, mukaan lukien otsikon, koon, reunuksen tyypin, taustan ja merkkien värit, tekstin fontin ja taustakuvan.

Jos teemme yhteenvedon kaikista ohjelman toiminnoista, Visual Basic forApplication antaa sinun:

1) Työskentele säätimien kanssa

Edut :

1. Nopea luoda sovelluksia graafisella käyttöliittymällä MS Windowsille.

2. Yksinkertainen syntaksi, jonka avulla voit hallita kielen hyvin nopeasti.

3. Mahdollisuus kääntää sekä konekoodiksi että P-koodiksi (ohjelmoijan valinnan mukaan). Virheenkorjaustilassa ohjelma käännetään aina (valinnasta riippumatta) P-koodiksi, jonka avulla voit keskeyttää ohjelman, tehdä merkittäviä muutoksia lähdekoodiin ja jatkaa sitten suorittamista ilman ohjelman täydellistä uudelleenkääntämistä ja uudelleenkäynnistystä. .

4. Suojaus osoittimien käyttöön ja muistin käyttöön liittyviltä virheiltä. Tämä näkökohta tekee Visual Basic -sovelluksista vakaampia, mutta on myös kritiikin kohteena.

5. Mahdollisuus käyttää useimpia WinAPI-toimintoja sovelluksen toimivuuden laajentamiseen. Tätä ongelmaa on tutkinut täydellisimmin Dan Appleman, joka kirjoitti kirjan "Visual Basic Programmer's Guide to the Win32 API".

Kritiikkiä :

1. Visual Basicin näkökohtia arvostellaan usein, kuten kykyä poistaa käytöstä ilmoitettujen muuttujien seuranta, kyky implisiittisesti muuntaa muuttujia ja "Variant"-tietotyypin olemassaolo. Kriitikoiden mukaan tämä mahdollistaa erittäin huonon koodin kirjoittamisen. Toisaalta tätä voidaan pitää plussana, koska VB ei pakota "hyvää tyyliä", vaan antaa ohjelmoijalle enemmän vapautta.

2. Osoittimien puute, matalan tason muistin käyttö, ASM-lisäkkeet. Huolimatta siitä, että Visual Basic -paradigma sallii keskimääräisen VB-ohjelmoijan pärjätä ilman kaikkea tätä, myös näistä asioista tulee usein kritiikkiä. Ja vaikka käyttämällä dokumentoimattomia ominaisuuksia ja tiettyjä temppuja, kaikki tämä voidaan toteuttaa VB:ssä (esimerkiksi käyttämällä funktioita osoittimien VarPtr(), StrPtr() ja ObjPtr() hankkimiseen); Näiden temppujen käyttäminen on paljon vaikeampaa kuin esimerkiksi C++:ssa.

On kuitenkin syytä huomata, että kaikki kielen haitat johtuvat sen pääedusta - graafisen käyttöliittymän kehittämisen helppoudesta. Siksi monet ohjelmoijat käyttävät Visual Basicia käyttöliittymän kehittämiseen ja ohjelman toiminnallisuuden toteuttamiseen toisella kielellä (useimmiten C++) kirjoitettujen dynaamisten linkkikirjastojen (DLL) muodossa.

4. Käytännön osa

4.1 Ongelman kuvaus

Piirrä lohkokaavio ja kirjoita ohjelma Pascalilla. Laske arvopapereiden itseisarvo. Omaisuuserän sisäinen arvo määräytyy kyseisestä omaisuudesta tulevan tulovirran mukaan.

pv – osakkeen nykyinen sisäinen arvo

c – odotettu saaminen kyseisestä omaisuuserästä

r – tuottoprosentti, jota sijoittaja odottaa vastaavalla riskitasolla

n – aikatekijä (kuukausina).

Suorita markkina-analyysi ja lajittele tulokset saatujen tietojen nousevaan järjestykseen.

4.2 Ohjelmateksti Pascal-kielellä

pv: array of real;

writeLn('Anna odotettu kuitti kohteesta ',i,'th omaisuus c:');

writeLn('Anna sijoittajan odottama tuottoprosentti r:');

pv:=c/exp(ln(1+r)*i);

writeLn('omaisuuden nykyinen sisäinen arvo on', pv[i]:1:3);

writeLn('Omaisuuden sisäinen arvo on', s);

j:=1 - 4 tee

jos pv[j] > pv sitten

writeLn('Omaisuuden arvo lajiteltu nousevaan järjestykseen');

i:=1 - 5 tee

writeLn(pv[i]:1:3);

4.3 Testitapaus

4.4 Ohjelman suorittamisen tulos testiesimerkillä

Johtopäätös

Joten yhteenvetona kaikki edellä mainitut, on huomattava, että työkaluohjelmisto on yksi ohjelmistotyypeistä, jolla on yleiset tehtävänsä ja toiminnonsa.

Koska se on kuitenkin erittäin erikoistunut ohjelmistotyyppi, sillä on tietty joukko ainutlaatuisia ominaisuuksia ja toimintoja, jotka tarjoavat ratkaisuja sen erityisiin ongelmiin.

On huomioitava nouseva suuntaus ohjelmointiprosessin yksinkertaistamiseen ja tietyn alaluokan luomiseen - puoliammattimainen ohjelmointi soveltuviin tarkoituksiin.

Tämä sallii kokeneen tietokoneen käyttäjän, mutta ei ammatillinen ohjelmoija, luoda tiettyjä Microsoft Office -ympäristössä suoritettavia sovelluksia ja pieniä tiedostoja, joita käytetään ensisijaisesti kirjanpitotarkoituksiin ja dokumenttien käsittelyyn pienissä yrityksissä.

Tätä tarkoitusta varten Microsoft kehitti VisualBasicforApplication-ohjelmistopaketin, joka yksinkertaistaa ohjelmointiprosessia ja mahdollistaa käyttäjien ohjelmoijien sijaan sovellusohjelmoinnin. Tämä mahdollisuus toteutettiin ensisijaisesti luomalla ohjelmaosio - "Script Editor" ja mahdollisuus tallentaa ja suorittaa "Makroja" erillisenä graafisesti ohjelmoitavana moduulina. Mahdollisuus luoda graafisella käyttöliittymällä varustettuja sovelluksia MS Windowsille on otettu käyttöön. Toinen tämän tyyppisen työkaluohjelmiston etu on sen yksinkertainen syntaksi, jonka avulla voit nopeasti hallita kielen ja käyttää sitä ohjelmointiin kaikissa Microsoft Office -sovelluksissa.

Siksi on vaikea yliarvioida työkalujen merkitystä yleensä ja VisualBasicforApplicationin erityisesti, vaikka puutteita, kuten edellä mainittiin, on myös olemassa. Mutta nämä eivät ole edes tuotteen negatiivisia puolia, vaan suuntaviivat ohjelmiston edelleen parantamiseen VisualBasicforApplicationin muodossa.

1. Reaaliaikaiset algoritmikielet / Ed. Yanga S. / 2004

2. PC Magazine venäläinen painos nro 2 2008 Tietokone tänään.

3. Tietojenkäsittelytiede. /Toim. Mogilev A.V., Pak N.I., Henner E.K./ - M.: ACADEMIA, 2000.

4. Tietojenkäsittelytiede ja tietotekniikka: Oppikirja / Toim. Romanova D.Yu. / Eksmo Publishing House LLC, 2007.

5. Henkilökohtaisen tietokoneen uusin tietosanakirja / Toim. Leontyeva V. /Moskova, 1999. – 271 s.

6. Uudet ohjelmointikielet ja niiden kehitystrendit / Toim. Ushkova V. / 2001

7. Pedagogiikka / Toim. Pidkasistogo P.I./ – M.: Pedagogical Society Russia, 2000.

8. Ohjelmointi Microsoft Excel 2000 21 päivässä. /Toim. Kharisa M./ – M.: Williams, 2000.

9. Simonovich S. Informatiikka: peruskurssi. Oppikirja yliopistoja varten. Pietari, Pietari, 2002

10. Ei ongelmia Excel 2000:n kanssa. /Toim. Kowalski/ – M.: Binom, 2000.

11. "Tehokasta työtä Windows 98:ssa" / Ed. Stinson K. / 2000. – 247 s.

12. Ohjelmointikielet. kirja 5 /Toim. Vaulina A.S. / 2003

13. Ohjelmointikielet: kehitys ja toteutus / Toim. Terrence P. / 2001

14. Tietojenkäsittelytieteen sähköinen oppikirja. Alekseev E.G. http://www.stf.mrsu.ru/economic/lib/Informmatics/text/Progr.html\

Työkaluohjelmisto tarkoitettu käytettäväksi tietokoneohjelmien suunnittelussa, kehittämisessä ja ylläpidossa. Seuraavat ohjelmatyypit voidaan luokitella instrumentaalisiksi ohjelmistoiksi:

Kääntäjät

Kääntäjät

Kokoonpanijat

Tulkit

Linkittäjät

Debuggerit

Automaattiset ohjelman testaustyökalut

Dokumentaatiogeneraattorit

SDK

Versionhallintajärjestelmät

Ohjelmointijärjestelmät ja integroidut ohjelmakehitysympäristöt

Ohjelmointiautomaatiojärjestelmät (CASE)

Kääntäjä on ohjelmistotyökalu millä tahansa ohjelmointikielellä kirjoitettujen ohjelmien kääntämiseen binäärikonekoodeilla esitettäviksi ohjelmiksi. Kääntäjät jaetaan kolmeen tyyppiin - kääntäjiin, kokoajiin ja tulkkeihin.

Kääntäjä on kääntäjä, joka täysin kääntää minkä tahansa ohjelmointikielen ohjelmat konekoodeiksi tai ns. objektikoodiksi. Tuloksena oleva konekoodiohjelma voidaan myöhemmin muuntaa suoritettavaksi moduuliksi ja ladata siihen RAM ja käynnistettiin suorittimen suorittamaan. Eräänlainen kääntäjä harkitaan kokoaja – ohjelma, joka kääntää konesuuntautuneella kielellä kirjoitetun ohjelmatekstin ("mnemoninen koodi" tai "kokoonpanokieli") binäärikoodiksi. Assembly-kielen käsite liittyy usein suoraan konesuuntautuneeseen kieleen. Siksi tätä termiä käytetään joskus tarkoittamaan konetason ohjelmointikieltä.

Tulkki on kääntäjä, joka rivi riviltä (tai yksi komento kerrallaan) kääntää ohjelmointikielen lähdeohjelman binäärikoodeiksi ja siirtää tämän binäärikoodin välittömästi suorittimelle suoritettavaksi.

Linkki- ohjelma, joka tuottaa layout suoritettava tai käynnistyskoodi - ottaa yhden tai useamman objektimoduulin syötteeksi ja kokoaa niistä yhden suoritettavan moduulin, joka voidaan ladata muistiin ja käynnistää suorittimen suorittamista varten.

Virheen korjaaja– se on pääsääntöisesti osa ohjelmistokehitysympäristöä tai erillistä sovellusta, joka on suunniteltu etsimään ohjelman virheitä. Debuggerin avulla voit jäljittää ohjelmaa askel askeleelta, seurata, asettaa tai muuttaa muuttujien arvoja ohjelman ajon aikana, asettaa ja poistaa keskeytyskohtia tai pysäytysehtoja ja niin edelleen.

Automaattiset ohjelman testaustyökalutohjelmistomoduulit, jonka avulla voit luoda automaattisia testejä minimaalisella ihmisen väliintulolla ja antaa automaattisesti testijaksoja syötteenä ja seurata testattavan ohjelman reaktiota. Yleensä tällaiset työkalut testaavat ohjelmien suorituskykyä ja luotettavuutta suurissa tietovirroissa - tämä on niin kutsuttu "kuormitustestaus". Esimerkiksi ohjelmien tarkistaminen raskaan verkkoliikenteen aikana jne. Mutta on olemassa toimivuuden testaustyökaluja, kuten työkaluja, jotka on suunniteltu varmistamaan, että sovellus täyttää liiketoimintasi vaatimukset.

Dokumentaatiogeneraattori– ohjelma tai ohjelmistopaketti, jonka avulla voit hankkia ohjelmoijille (API-dokumentaatio) ja/tai järjestelmän loppukäyttäjille tarkoitettua dokumentaatiota erityisesti kommentoitulle lähdekoodille ja joissakin tapauksissa suoritettaville moduuleille (saatu järjestelmän lähdöstä). kääntäjä). Tyypillisesti generaattori analysoi ohjelman lähdekoodia korostaen merkittäviä ohjelmaobjekteja (tyypit, luokat ja niiden jäsenet/ominaisuudet/menetelmät, menettelyt/funktiot jne.) vastaavat syntaktiset rakenteet. Analyysissä käytetään myös lomakkeessa esitettyä metatietoa ohjelmaobjekteista kommenttien dokumentointi. Kaiken kerätyn tiedon perusteella luodaan valmiita dokumentaatioita, yleensä jossakin yleisesti hyväksytyistä muodoista - HTML, HTMLHelp, PDF, RTF ja muut.

Kehityspaketti (SDK, Ohjelmiston kehityspaketti) tai "devkit" on joukko ohjelmia ja rutiinien kirjastoja, joiden avulla ohjelmistoasiantuntijat voivat luoda sovelluksia tietylle ohjelmistopaketille, ydinkehitysohjelmistolle, laitteistoalustalle, tietokonejärjestelmälle, videopelikonsoleille, käyttöjärjestelmille ja muille alustoille. Ohjelmoija saa pääsääntöisesti SDK:n suoraan kohdeteknologian tai -järjestelmän kehittäjältä. Usein SDK jaetaan Internetin kautta. Monet SDK:t jaetaan ilmaiseksi kannustaakseen kehittäjiä käyttämään tiettyä tekniikkaa tai alustaa.

Versionhallintajärjestelmä (Versionhallintajärjestelmä, VCS tai Revision Control System) - ohjelmisto, joka helpottaa työskentelyä muuttuvien tietojen kanssa. Versionhallintajärjestelmän avulla voit tallentaa useita versioita samasta asiakirjasta, palata tarvittaessa aikaisempiin versioihin, määrittää, kuka teki tietyn muutoksen ja milloin, ja paljon muuta. Tällaisia ​​järjestelmiä käytetään laajimmin ohjelmistokehityksessä tallentamaan kehitettävän ohjelman lähdekoodit. Niitä voidaan kuitenkin menestyksekkäästi käyttää muilla aloilla, joissa työskennellään suurella määrällä jatkuvasti vaihtuvia sähköisiä asiakirjoja.

Integrated Development Environment (IDE) (Integroitu kehitysympäristö, IDE) on ohjelmistojärjestelmä, jota käytetään ohjelmistojen kehittämiseen. Tyypillisesti kehitysympäristö sisältää tekstieditorin, kääntäjän ja/tai tulkin, rakennusautomaatiotyökalut ja virheenkorjaajan. Joskus se sisältää myös työkaluja integrointiin versionhallintajärjestelmiin ja erilaisia ​​työkaluja graafisen käyttöliittymän suunnittelun yksinkertaistamiseksi. Myös monet nykyaikaiset kehitysympäristöt sisältävät luokan selain, tilojen tarkastaja Ja luokkahierarkiakaavio- käytettäväksi oliopohjaisessa ohjelmistokehityksessä. Vaikka kehitysympäristöjä on suunniteltu useille kielille - kuten Eclipse, NetBeans, Embarcadero RAD Studio tai Microsoft Visual Studio, niin yleensä kehitysympäristö on tarkoitettu yhdelle tietylle ohjelmointikielelle - kuten Visual Basic, Delphi, Dev-C++. ISR:n erikoistapaus on visuaalinen kehitysympäristö, joka sisältää mahdollisuuden visuaalisesti muokata ohjelman käyttöliittymää. Joskus kutsutaan ISR:ksi "ohjelmointijärjestelmä" , vaikka useimmissa tapauksissa WBS kattaa laajemman valikoiman toimintoja ja ominaisuuksia.

Automaatiojärjestelmien ohjelmointi(Tietokoneavusteinen järjestelmäsuunnittelu, CASE ) on ohjelmistopaketti, joka automatisoi monimutkaisten ohjelmistojärjestelmien analysoinnin, suunnittelun, kehityksen, koodauksen, virheenkorjauksen ja ylläpidon koko teknologisen prosessin. CASE-teknologian tärkein etu on sen tuki kollektiiviseen projektityöskentelyyn, koska se pystyy työskentelemään paikallisessa ja maailmanlaajuisessa kehittäjäverkostossa, minkä tahansa projektiosien viennin (tuonti) ja järjestäytyneen ohjelmanhallinnan ansiosta. CASE-järjestelmät tukevat pääsääntöisesti ohjelmien automaattista koodintuotantoa - kehyksen luomista järjestelmäohjelmalla ja täydellisen tuotteen luomista järjestelmädokumentaatiolla.

Sovellusohjelma

Tämä kategoria sisältää ohjelmia ohjelmistojärjestelmät ja ohjelmistojärjestelmät, joiden avulla ratkaistaan ​​tietyt käyttäjätehtävät tuotanto-, luomis-, viihde-, koulutus- tai muihin tarkoituksiin. Sovellusohjelmistot on jaettu seuraaviin tyyppeihin:

Ongelmalähtöiset ohjelmat

Järjestelmät tietokoneavusteinen suunnittelu(CAD)

Ohjelmistot automatisoituihin ohjausjärjestelmiin

Yleiskäyttöiset ohjelmat

Toimistojärjestelmät

Älykkäät järjestelmät

Ohjelmistojärjestelmät multimedia

Desktop Publishing

Ongelmalähtöiset ohjelmat suunniteltu ratkaisemaan ihmisen tuotantotoimintaan liittyviä sovellettavia ongelmia, esimerkiksi:

Kirjanpito-ohjelmat;

Rahoitustoimintaohjelmat;

Henkilöresurssien hallintaohjelmat;

Yrityksen johtamisohjelmat;

Pankkitiedot ja automatisoidut järjestelmät;

Automatisoidut työpaikat yrityksessä;

Tietokoneavusteiset suunnittelujärjestelmät (CAD-järjestelmä – tietokoneavusteinen suunnittelujärjestelmä ) on tarkoitettu tukemaan suunnittelijoiden, teknikkojen, sähkö- ja elektroniikkainsinöörien, arkkitehtien ja muiden piirustusten, kaavioiden, mallien, graafisen mallintamisen ja suunnittelun kehittämiseen liittyvää työtä. Tämän luokan järjestelmät ovat erittäin vaativia tietokonelaitteiston, nopeuden ja muistin suhteen. Sisäänrakennettujen funktioiden, objektien, graafisten järjestelmien ja tietokantojen liitäntöjen kirjastojen läsnäolo on välttämätöntä.

CAD:ssa on tapana erottaa seitsemän tukityyppiä:

Tekninen(TO), mukaan lukien erilaiset laitteistot (tietokoneet, oheislaitteet, verkon kytkentälaitteet, tietoliikennelinjat, mittauslaitteet);

Matemaattinen(MO), joka yhdistää matemaattiset menetelmät, mallit ja algoritmit suunnittelun suorittamiseksi;

Ohjelmisto(ohjelmistot), joita edustavat CAD-tietokoneohjelmat;

Tiedollinen(IO), joka koostuu tietokannoista (DB:t), tietokannanhallintajärjestelmistä (DBMS) sekä muusta suunnittelussa käytetystä tiedosta. Koko suunnittelussa käytettävää tietojoukkoa kutsutaan CAD-tietorahastoksi ja tietokantaa yhdessä DBMS:n kanssa tietopankiksi (DB);

Kielellinen(LO), ilmaistaan ​​suunnittelijoiden ja tietokoneiden välisillä viestintäkielillä, ohjelmointikielillä ja teknisten CAD-työkalujen välisillä tiedonvaihdon kielillä;

Metodista(MetO), joka sisältää erilaisia ​​suunnittelutekniikoita, joskus myös matemaattisia ohjelmistoja;

Organisatorinen(OO), jota edustavat henkilöstötaulukot, työ kuvaukset ja muut projektiyrityksen työtä säätelevät asiakirjat.

Sovellusalueen mukaan voidaan erottaa seuraavat CAD-ryhmät:

CAD yleiseen konepajateollisuuteen. Niitä kutsutaan usein mekaanisiksi CAD- tai MCAD-järjestelmiksi (Mechanical CAD).

CAD radioelektroniikkaan. Niiden nimet ovat ECAD (Electronic CAD) tai EDA (Electronic Design Automation) -järjestelmiä.

CAD arkkitehtuurin ja rakentamisen alalla.

Lisäksi tunnetaan suuri joukko erikoistuneempia CAD-järjestelmiä, jotka joko luokitellaan näihin ryhmiin tai edustavat luokituksessa itsenäistä haaraa. Esimerkkejä tällaisista järjestelmistä ovat CAD-järjestelmät suuren mittakaavan integroiduille piireille (LSI); Lentokone CAD; Sähkökoneiden CAD jne.

Tekijä: aiottuun tarkoitukseen erottaa CAD- tai CAD-alijärjestelmät, jotka tarjoavat erilaisia ​​suunnittelun näkökohtia. Näin ollen CAE/CAD/CAM-järjestelmät näkyvät osana MCAD:ia:

CAD-toiminnallinen suunnittelu, muutoin CAD-F tai CAE (Computer Aided Engineering) järjestelmät.

Suunnittele CAD-järjestelmät yleiseen koneenrakennukseen - CAD-K, jota usein kutsutaan yksinkertaisesti CAD-järjestelmiksi;

Tekniset CAD-järjestelmät yleiseen koneenrakennukseen - CAD-T, toisin sanoen automatisoidut järjestelmät tuotannon tekniseen valmisteluun ASPP- tai CAM-järjestelmien (Computer Aided Manufacturing).

Automaattinen ohjausjärjestelmä (ACS)- joukko laitteistoja ja ohjelmistoja, jotka on suunniteltu ohjaamaan erilaisia ​​prosesseja teknologisen prosessin, tuotannon tai yrityksen puitteissa. ACS:ia käytetään eri teollisuudenaloilla, energiassa, liikenteessä jne. Käsite automatisoitu, toisin kuin termi automaatti, korostaa sitä, että ihminen säilyttää tietyt toiminnot, jotka liittyvät tavoitteen asettamiseen, päätöksentekoon tai tiettyjen toimintojen suorittamiseen, joita ei voi suorittaa. olla automatisoitu.

Tunnetuimmat automaattisten ohjausjärjestelmien luokat ovat:

Automatisoitu prosessinohjausjärjestelmä (APCS) - ratkaisee teollisuuden, energian ja liikenteen teknisten laitteiden operatiivisen hallinnan ja ohjauksen ongelmat;

Automatisoitu järjestelmä tekniseen (teknologiseen) tuotannon valmisteluun (ASTPP) on järjestelmä, joka liittyy olemassa olevien tai tuotannossa olevien teknisten prosessien organisointiin, joka perustuu numeerisesti ohjattujen koneiden ohjelmointiin, ohjelmaohjattujen robottien valmistukseen ja kokoonpanoon, jne.

Automatisoitu tuotannonhallintajärjestelmä (APS) - ratkaisee tuotannon organisointiongelmat, mukaan lukien perustuotantoprosessit, saapuvan ja lähtevän logistiikan. Suorittaa lyhyen aikavälin tuotannon suunnittelua ottaen huomioon tuotantokapasiteetin, tuotteiden laatuanalyysin ja tuotantoprosessien mallinnuksen. Näiden ongelmien ratkaisemiseen käytetään MIS- ja MES-järjestelmiä sekä LIMS-järjestelmiä.

Automaattinen yrityksen hallintajärjestelmä (EMS) - MRP-, MRP II- ja ERP-järjestelmiä käytetään näiden ongelmien ratkaisemiseen. Jos yritys on esimerkiksi korkeakoulu, yliopistolla on automatisoitu valvontajärjestelmä.

Kuten esimerkki Tunnetuimmat automaattiset ohjausjärjestelmät voidaan tunnistaa:

Automaattinen liikenteenohjausjärjestelmä tai ASUD - suunniteltu ohjaamaan ajoneuvoja ja jalankulkijoiden virtoja kaupungin tai valtatien tieverkossa;

Automaattinen katuvalaistuksen ohjausjärjestelmä ("ASU UL") - suunniteltu järjestämään katuvalaistuksen keskitetyn ohjauksen automatisointi;

Hotellien "automaattinen hallintajärjestelmä";

Automatisoitu matkanohjausjärjestelmä (ASCP) Moskovan joukkoliikenteessä jne.

Viime aikoina niitä on käytetty ja otettu käyttöön laajasti automaattiset tietojenkäsittely- ja ohjausjärjestelmät (ASOPI) – Tämä on laaja luokka automatisoituja ohjausjärjestelmiä, jotka liittyvät automaatioon tietojen käsittelyn, tallennuksen ja siirron alalla. ASOIU, toisin kuin automatisoidut ohjausjärjestelmät, voidaan käyttää lähes kaikkialla, muodossa tietojärjestelmä, ohjausjärjestelmät, automaatiojärjestelmät lähes kaikille ihmistoiminnan aloille. Nykyaikainen ASOIU perustuu käyttöön Tietokoneverkot, keskittyvät graafisen, video- ja ääniinformaation käsittelyyn, käyttävät multimediateknologioita, tekoälyjärjestelmien elementtejä. Ilman tällaista ohjelmistoa on tällä hetkellä vaikea kuvitella nykyaikaista yritystä koosta ja toiminta-alueesta riippumatta. Tämä selittää automaattisten tietojärjestelmien käytön nopean kasvun kaikilla talouden sektoreilla.

Ryhmään yleiskäyttöiset ohjelmat voidaan syyttää:

Tietokannan hallintajärjestelmät (DBMS)

Tietokantapalvelimet

Raporttigeneraattorit

Tekstinkäsittelijät

Pöytäprosessorit

Esitysgrafiikkatyökalut

Integroidut paketit

Menetelmäpainotteiset ohjelmat

Tietokannan hallintajärjestelmät (DBMS)– tarjota paikallisten tietokantojen organisointia ja tallennusta itsenäisesti toimiville tietokoneille tai tietokantojen keskitettyä tallennusta tiedostopalvelimelle ja pääsyä niihin verkkoon. Nykyaikaiset DBMS-järjestelmät sisältävät suunnitteluprosessin CASE-tekniikan elementtejä, erityisesti:

Tietokantakaavioiden visualisointi;

Tietokannan eheyden automaattinen tuki erityyppisille käsittelyille (sisällyttäminen, poistaminen, muuttaminen);

Niin sanottujen mestareiden läsnäolo, jotka tukevat suunnitteluprosessia;

Tietokantarakenteiden mallit ja prototyypit, lomakeraportit jne.

Tietokantapalvelimet on ohjelmisto, joka on suunniteltu integroitujen tietokantojen luomiseen ja käyttämiseen asiakas-palvelin-arkkitehtuurissa työskenneltäessä verkossa.

Tietojenkäsittelyn verkkoversiossa monen käyttäjän DBMS tallentaa tiedot tiedostopalvelimelle, erityisesti omistetulle tietokoneelle, mutta itse käsittely suoritetaan työasemilla.

Yhteistä erityyppisille tietokannoille on relaatiokielen SQL (Structured Query Language) käyttö datakyselyjen toteuttamiseen.

Raporttigeneraattorit(raporttipalvelimet) tarjoavat kyselyjen toteuttamisen ja raporttien generoinnin painetussa tai näyttömuodossa verkossa asiakas-palvelin-arkkitehtuurilla. Raporttipalvelin muodostaa yhteyden tietokantapalvelimeen tietokantapalvelun ajureilla (Crystal Reports, Profit for windows).

Tekstinkäsittelijät suunniteltu tekstiasiakirjojen käsittelyyn. Kehitys tähän suuntaan ovat Microsoft Word -julkaisujärjestelmiä).

Pöytäprosessorit ovat kätevä laskutoimitusympäristö, joka sisältää yritysgrafiikkatyökaluja ja erikoistyökaluja (Microsoft Excel).

Esitysgrafiikkatyökalut– nämä ovat erikoisohjelmia, jotka on suunniteltu kuvien luomiseen ja näyttämiseen ruudulla, diafilmien, sarjakuvien ja niiden suunnitteluun (Microsoft PowerPoint, Flash).

Integroidut paketit on joukko useita ohjelmistotuotteita, jotka toiminnallisesti täydentävät toisiaan ja tukevat yleisiä tietoteknologioita, toteutettuina yhdelle toimivalle laskenta-alustalle (Microsoft Office).

Integroitujen pakettien komponentit voivat toimia erillään toisistaan ​​ja niillä on yhteinen käyttöliittymä, jolloin ne on helpompi hallita.

Menetelmäkeskeinen PPP tarjota tietojärjestelmien aihealueesta ja toiminnasta riippumatta matemaattisia, tilastollisia ja muita menetelmiä ongelmien ratkaisemiseen. Yleisimmät menetelmät ovat matemaattinen ohjelmointi, differentiaaliyhtälöiden ratkaiseminen, simulaatiomallinnus, operaatiotutkimus (Storm, SYSTAT, SAS jne.)

Toimisto PPP:t tarjoavat toimistotoimintojen organisatorista hallintaa.

Toimisto-PPP-luokka sisältää:

Järjestäjät (aikataulut) – ohjelmisto työajan suunnitteluun, kokouspöytäkirjojen laatimiseen, aikatauluihin, kirjanpitoon ja puhelinluetteloon (laskin, Muistikirja, kello, kalenteri jne.)

Käännösohjelmat, oikeinkirjoituksen tarkistukset, tekstintunnistus (Tiger - venäjän kielen tunnistusjärjestelmä, Stylus Lingvo Office, joka sisältää Fine Readerin, Stylus for Windows - kääntäjä määritetylle kielelle, oikeinkirjoituksen korjausohjelma Lingvo Corrector ja perussanakirja Lingvo)

Viestintäpaketit, jotka on suunniteltu järjestämään käyttäjän vuorovaikutusta etätilaajien tai verkkotietoresurssien kanssa (ICQ jne.)

Selaimet, työkalut WWW-sivujen luomiseen

Sähköpostityökalut (Pegasys Mail)

Desktop Publishing on laaja ohjelmistoluokka, joka toteuttaa julkaisutoiminnan pääkomponentit.

Tämä ohjelmistoluokka sisältää ohjelmia, jotka tarjoavat:

Tekstien muotoilu ja muokkaaminen

Automaattinen tekstin sivutus

Tulostetun sivun tietokoneasettelu

Asennusgrafiikka

Kuvien valmistelu

Alkuperäisen asettelun valmistelu

Työpöytäjulkaisujärjestelmiä ovat:

PhotoShop for Windows

Multimediaohjelmisto. Näiden ohjelmistotyökalujen tärkein merkitys on ääni- ja videotietojen luominen ja käyttö laajentamiseksi tietotila käyttäjä (eri tietokannat tietokonetaideteoksista, videokirjastot, mediakirjastot, äänitallenteiden kirjastot jne.)

Tekoälyjärjestelmät:

Shell-ohjelmat asiantuntijajärjestelmien luomiseen tietokantoja ja loogisia päättelysääntöjä täyttämällä

Valmiit asiantuntijajärjestelmät päätöksentekoon tietyillä aihealueilla

Järjestelmät puheen, tekstin jne. analysointiin ja tunnistamiseen.

Älykkäät järjestelmät (IS) voidaan ymmärtää automaattisiksi ja automatisoiduiksi järjestelmiksi, joissa on keinoälyn (AI) elementtejä.

Tekoälyn pääalueet ovat:

Tiedon edustaminen ja tietopohjaisten järjestelmien kehittäminen

Luovuus ja pelit (shakki, tammi, go)

Luonnollisen kielen rajapintojen kehittäminen ja tekstien konekäännös

Kuviontunnistus (jokaiselle objektille on määritetty matriisi ominaisuuksia, joita käytetään sen tunnistamiseen)

Uudet komponenttiarkkitehtuurit (hermotietokoneet)

Älykkäät robotit

Erikoisohjelmistot (Lisp, Prolog kielet)

Koulutus ja itseoppiminen (sisältää mallit, menetelmät ja algoritmit, joiden tarkoituksena on kerätä automaattisesti tietoa data-analyysiin ja synteesiin perustuen)

Tietoa– tämä on aihealueen lakien (periaatteet, yhteydet, lait) tunnistamista, jotka mahdollistavat ongelmien ratkaisemisen tällä alueella. Tieto on dataa datasta tai metadataa.

Tiedon esitysmallit:

Tuotemallit

Semanttiset mallit

Kehysmallit

Muodolliset logiikan mallit

Ohjelmistotyökalut ovat ohjelmia, joita käytetään muiden sovellusten tai järjestelmäohjelmien kehittämiseen, muokkaamiseen tai kehittämiseen.

Ohjelmistotyökalut voivat tarjota apua ohjelmistokehityksen kaikissa vaiheissa. Niiden tarkoitus on lähellä ohjelmointijärjestelmät.

Työkaluohjelmia ovat esimerkiksi:

    toimittajat;

    ohjelman kokoonpano työkalut;

    apuohjelmat, jotka toteuttavat usein käytettyjä järjestelmätoimintoja;

    graafiset ohjelmistopaketit jne.

      1. Ohjelmointijärjestelmä

Ohjelmointijärjestelmä on järjestelmä, jolla kehitetään uusia ohjelmia tietyllä ohjelmointikielellä.

Nykyaikaiset ohjelmointijärjestelmät tarjoavat käyttäjille yleensä tehokkaita ja käteviä ohjelmankehitystyökaluja. Nämä sisältävät:

    kääntäjä tai tulkki;

    integroitu kehitysympäristö;

    työkalut ohjelmatekstien luomiseen ja muokkaamiseen;

    laajat kirjastot vakioohjelmat ja toiminnot;

    virheenkorjausohjelmat, ts. ohjelmat, jotka auttavat löytämään ja korjaamaan ohjelman virheitä;

    käyttäjäystävällinen keskusteluympäristö;

    monen ikkunan toimintatila;

    tehokkaat grafiikkakirjastot; apuohjelmat kirjastojen kanssa työskentelyyn

    sisäänrakennettu kokoaja;

    sisäänrakennettu help desk;

    muita erityisominaisuuksia.

Translator (englanniksi kääntäjä - kääntäjä) on käännösohjelma. Se muuntaa jollain korkean tason kielillä kirjoitetun ohjelman konekäskyistä koostuvaksi ohjelmaksi.

Kääntäjät toteutetaan kääntäjinä tai tulkkeina. Työn tekemisen kannalta kääntäjä ja tulkki eroavat merkittävästi toisistaan.

Kääntäjä (englanniksi kääntäjä - kääntäjä, keräilijä) lukee koko ohjelman, kääntää sen ja luo ohjelmasta täydellisen version konekielellä, joka sitten suoritetaan.

Tulkki (englanniksi tulkki - tulkki, tulkki) kääntää ja suorittaa ohjelman rivi riviltä.

Kun ohjelma on käännetty, lähdeohjelmaa tai kääntäjää ei enää tarvita. Samalla tulkin käsittelemä ohjelma on käännettävä uudelleen konekielelle joka kerta, kun ohjelma käynnistetään.

Käännetyt ohjelmat toimivat nopeammin, mutta tulkittuja on helpompi korjata ja muuttaa.

Suositut ohjelmointijärjestelmät - Turbo Basic, Quick Basic, Turbo Pascal, Turbo C, Borland C++, Borland Delphi jne.

Jokainen tietty kieli on suunnattu joko kokoamiseen tai tulkintaan - riippuen tarkoituksesta, jota varten se on luotu. Esimerkiksi, Pascal käytetään yleensä melko monimutkaisten ongelmien ratkaisemiseen, joissa ohjelman nopeus on tärkeä. Siksi tämä kieli toteutetaan yleensä kääntäjällä. Toisella puolella, Perus luotiin kieleksi aloitteleville ohjelmoijille, joille ohjelman rivi riviltä suorituksesta on kiistattomia etuja.

Joskus samalle kielelle on olemassa sekä kääntäjä että tulkki. Tässä tapauksessa voit käyttää tulkkia ohjelman kehittämiseen ja testaamiseen ja sen jälkeen kääntää virheenkorjausohjelma sen suoritusnopeuden parantamiseksi.

      Ohjelmistotrendit

Instrumentaalisille ohjelmistoille erityisenä ohjelmistotyyppinä on yleinen ja yksityinen

toimintoja, kuten kaikki ohjelmistot yleensä. Yleisiä toimintoja käsitellään edellä, ja vain tämän tyyppisille ohjelmille ominaisia ​​erikoistoimintoja ovat:

1. Kehitettävän ohjelman tekstin luominen käyttämällä erityisesti määritettyjä koodisanoja (ohjelmointikieli), sekä tiettyjä merkkejä ja niiden sijaintia luodussa tiedostossa - ohjelman syntaksia.

2. Luodun ohjelman tekstin kääntäminen konesuuntautuneeksi koodiksi, joka on käytettävissä tietokoneiden tunnistamista varten. Jos luodun ohjelman volyymi on merkittävä, se jaetaan erillisiin moduuleihin ja jokainen moduuli käännetään erikseen.

3. Yksittäisten moduulien yhdistäminen yhdeksi suoritettavaksi koodiksi tarvittavan rakenteen mukaisesti varmistaen yksittäisten osien keskinäisen vuorovaikutuksen koordinoinnin.

4. Luodun ohjelman testaus ja valvonta, muoto-, loogisten ja syntaktisten virheiden tunnistaminen ja poistaminen, ohjelmien tarkistaminen kiellettyjen koodien varalta sekä luodun ohjelman suorituskyvyn ja potentiaalin arviointi.

Työkaluohjelmistojen tyypit

Instrumentaaliohjelmistolle annettujen tehtävien perusteella voimme erottaa suuren määrän erilaisia ​​instrumentaaliohjelmistoja:

1) Tekstieditorit

2) Integroidut kehitysympäristöt

4) Kääntäjät

5) Tulkit

6) Linkkerit

7) Jäsentimet ja jäsennysgeneraattorit (katso Javacc)

8) Kokoonpanijat

9) Debuggerit

10) Profiloijat

11) Dokumentaatiogeneraattorit

12) Koodipeittoanalyysityökalut

13) Jatkuvan integroinnin työkalut

14) Automaattiset testaustyökalut

15) Versionhallintajärjestelmät jne.

On huomattava, että myös työkaluohjelmat luovat kuoret sovellusohjelmien luomiseen, joten ne voidaan luokitella sovellusohjelmiksi. Tarkastellaanpa lyhyesti joidenkin instrumentaaliohjelmien tarkoitusta.

Tekstieditorit.

Tekstieditori on tietokoneohjelma, joka on suunniteltu käsittelemään tekstitiedostoja, kuten luomaan ja tekemään muutoksia.

Tekstieditorien tyypit.

Perinteisesti on olemassa kahdenlaisia ​​editoreja: suoratoistotekstieditorit ja interaktiivinen.

1) Suoratoistotekstieditorit

Stream-tekstieditorit ovat tietokoneohjelmia, jotka on suunniteltu käsittelemään automaattisesti tekstitiedostosta saatua syötetekstidataa käyttäjien ennalta määrittämien sääntöjen mukaisesti. Useimmiten säännöt ovat säännöllisiä lausekkeita tietylle tekstieditorille ominaisessa murteessa. Esimerkki tällaisesta tekstieditorista on Sed-editori.

2) Interaktiiviset tekstieditorit

Interaktiiviset tekstieditorit ovat tietokoneohjelmien perhe, jotka on suunniteltu tekemään muutoksia tekstitiedostoon interaktiivisesti. Tällaisten ohjelmien avulla voit näyttää tiedoston nykyisen tekstitietojen tilan ja suorittaa sille erilaisia ​​toimintoja.

Usein interaktiiviset tekstieditorit sisältävät merkittäviä lisätoimintoja, jotka on suunniteltu automatisoimaan osan muokkaustoimista tai muuttamaan tekstitietojen näyttöä niiden semantiikan mukaan. Esimerkki jälkimmäisestä toiminnallisuudesta on syntaksin korostus.

Tekstieditorit on suunniteltu tekstiasiakirjojen luomiseen ja muokkaamiseen. Yleisimmät ovat MS WORD, Lexicon. Tekstieditorien päätoiminnot ovat:

1) työstää asiakirjan fragmentteja,

2) muissa ohjelmissa luotujen objektien lisääminen

3) asiakirjan tekstin jakaminen sivuiksi

4) taulukoiden syöttäminen ja muokkaaminen

5) kaavojen syöttäminen ja muokkaaminen

6) kappaleen muotoilu

7) automaattinen luetteloiden luominen

8) sisällysluettelon automaattinen luominen.

Tunnetaan kymmeniä tekstieditoreja. Helpoimpia ovat NOTEPAD (muistilehtiö), WORDPAD, WORD. Tietyn tekstieditorin toiminnan määräävät yleensä toiminnot, joiden tarkoitus näkyy valikkokohdissa ja ohjejärjestelmässä.

Integroitu kehitysympäristö

Integrated Development Environment, ISD, on ohjelmistojärjestelmä, jota ohjelmoijat käyttävät ohjelmistojen kehittämiseen. Tyypillisesti kehitysympäristö sisältää:

1) tekstieditori

2) kääntäjä ja/tai tulkki

3) kokoonpanoautomaatiotyökalut

4) debuggeri.

Joskus se sisältää myös työkaluja integrointiin versionhallintajärjestelmiin ja erilaisia ​​työkaluja graafisen käyttöliittymän suunnittelun yksinkertaistamiseksi. Monet nykyaikaiset kehitysympäristöt sisältävät myös luokkaselaimen, objektitarkistusohjelman ja luokkahierarkiakaavion oliopohjaisessa ohjelmistokehityksessä. Vaikka kehitysympäristöjä on suunniteltu useille ohjelmointikielille - kuten Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator tai Microsoft Visual Studio, kehitysympäristö on yleensä tarkoitettu yhdelle tietylle ohjelmointikielelle - kuten Visual Basic, Delphi, Dev. -C++.

ISR:n erikoistapaus on visuaalinen kehitysympäristö, joka sisältää mahdollisuuden muokata ohjelman käyttöliittymää visuaalisesti.

SDK(englanninkielisestä Software Development Kitistä) tai "devkit" on joukko kehitystyökaluja, joiden avulla ohjelmistoasiantuntijat voivat luoda sovelluksia tietylle ohjelmistopaketille, peruskehitysohjelmistolle, laitteistoalustalle, tietokonejärjestelmälle, videopelikonsoleille, käyttöjärjestelmille ja muille alustoille. .

Ohjelmoija saa pääsääntöisesti SDK:n suoraan kohdeteknologian tai -järjestelmän kehittäjältä. Usein SDK jaetaan Internetin kautta. Monet SDK:t jaetaan ilmaiseksi kannustaakseen kehittäjiä käyttämään tiettyä tekniikkaa tai alustaa.

SDK-toimittajat joskus korvaavat termin Software in Software Development Kit tarkemmalla sanalla. Esimerkiksi Microsoft ja Apple tarjoavat Driver Development Kit (DDK) laiteajurien kehittämiseen, ja PalmSource kutsuu kehitystyökalupakettiaan PalmOS Development Kitiksi (PDK).

SDK-esimerkkejä:

5) Java-kehityspaketti

6) Opera Devices SDK

Kääntäjät.

Kääntäjä --

1) Ohjelma tai tekninen työkalu, joka suorittaa kääntämisen.

2) Kääntämiseen käytetty koneohjelma.

3) Kääntäjä, joka muuntaa lähdekielellä kirjoitetun ohjelman objektimoduuliksi.

4) Ohjelma, joka kääntää ohjelmatekstin korkean tason kielellä vastaavaksi konekieliseksi ohjelmaksi.

5) Ohjelma, joka on suunniteltu kääntämään korkean tason kieli absoluuttiseksi koodiksi tai joskus kokoonpanokieleksi. Kääntäjälle syötettävä tieto (lähdekoodi) on algoritmin tai ohjelman kuvaus ongelmakeskeisellä kielellä, ja kääntäjän tulos on vastaava kuvaus algoritmista konesuuntautuneella kielellä (oliokoodi).

Kokoelma --

1) Ohjelman kääntäminen kielelle, joka on lähellä konekieltä.

2) Lähdekielellä kirjoitetun ohjelman kääntäminen objektimoduuliksi. Suorittaa kääntäjä.

Käännä - käännä koneohjelma ongelmalähtöisestä kielestä konesuuntautuneeksi kieleksi.

Kääntäjätyypit:

1) Vektorisointi. Kääntää lähdekoodin konekoodiksi tietokoneissa, joissa on vektorisuoritin.

2) Joustava. Modulaarinen, taulukkokäyttöinen ja ohjelmoitu korkean tason kielellä tai toteutettu kääntäjien kääntäjällä.

3) Vuoropuhelu.

4) Inkrementaalinen. Lähettää uudelleen ohjelman fragmentteja ja lisäyksiä siihen kääntämättä koko ohjelmaa uudelleen.

5) Tulkinta (askel askeleelta). Suorittaa peräkkäin itsenäisen käännöksen jokaisesta lähdeohjelman yksittäisestä käskystä (komennosta).

6) Kääntäjien kääntäjä. Kääntäjä, joka hyväksyy ohjelmointikielen muodollisen kuvauksen ja luo kääntäjän tälle kielelle.

7) Debug. Poistaa tietyntyyppiset syntaksivirheet.

8) Asukas. Asuu pysyvästi keskusmuistissa ja on käytettävissä uudelleen useissa tehtävissä.

9) Itse koonnut. Kirjoitettu samalla kielellä, josta lähetys suoritetaan.

10) Universaali. Perustuu muodolliseen syöttökielen syntaksin ja semantiikan kuvaukseen. Tällaisen kääntäjän komponentit ovat: ydin, syntaktiset ja semanttiset latausohjelmat.

Kokoonpanotyypit:

1) Erä. Useiden lähdemoduulien kääntäminen yhdeksi tehtäväksi.

2) Rivi riviltä.

3) Ehdollinen. Kokoelma, jossa käännetty teksti riippuu lähdeohjelmassa määritetyistä ehdoista. Joten, riippuen tietyn vakion arvosta, voit kytkeä ohjelman tekstin osan kääntämisen päälle tai pois.

Kääntäjän rakenne.

Kokoamisprosessi koostuu seuraavista vaiheista:

1) Leksinen analyysi. Tässä vaiheessa lähdetiedoston merkkisarja muunnetaan merkkijonoksi.

2) Syntaktinen (kielioppi) analyysi. Tokenien sarja muunnetaan jäsennyspuuksi.

3) Semanttinen analyysi. Jäsennyspuuta käsitellään sen semantiikan (merkityksen) määrittämiseksi - esimerkiksi sitomalla tunnisteet niiden ilmoituksiin, tyyppeihin, tarkistamalla yhteensopivuus, määrittämällä lausekkeiden tyypit jne. Tulosta kutsutaan yleensä "väliesitykseen/koodiksi", ja se voi voidaan laajentaa jäsennyspuulla , uudella puulla, abstraktilla komentojoukolla tai jollain muulla sopivalla jatkokäsittelyä varten.

4) Optimointi. Tarpeettomien rakenteiden poistaminen ja koodin yksinkertaistaminen säilyttäen samalla sen merkityksen. Optimointi voi olla eri tasoilla ja vaiheissa - esimerkiksi välikoodissa tai lopullisessa konekoodissa.

5) Koodin luominen. Väliesityksen perusteella generoidaan koodi kohdekielellä.

Tietyissä kääntäjätoteutuksissa nämä vaiheet voidaan erottaa tai yhdistää tavalla tai toisella.

Lähetys ja sävellys.

Tärkeä kääntäjän historiallinen piirre, joka näkyy sen nimessä ( Englanti koota - koota, säveltää), oli se, että se pystyi myös suorittamaan sävellystä (eli se sisälsi kaksi osaa - kääntäjän ja linkittäjän). Tämä johtuu siitä, että erillinen käännös ja linkittäminen erillisenä kokoonpanovaiheena syntyivät paljon myöhemmin kuin kääntäjien tulo. Tässä suhteessa termiä "kääntäjä" käytetään joskus synonyyminä "kääntäjä" -sanan sijaan: joko vanhassa kirjallisuudessa tai kun halutaan korostaa sen kykyä kääntää ohjelma konekoodiksi (ja päinvastoin, termiä "kääntäjä" käytetään korostamaan kykyä kääntää useista tiedostoista yksi).

Tulkit.

Tulkki (ohjelmointikieli) --

1) Ohjelma tai tekninen työkalu, joka suorittaa tulkinnan.

2) Kääntäjätyyppi, joka suorittaa lähdeohjelman tai kyselyn käskykohtaisen (komentokohtaisesti) käsittelyn ja suorittamisen (toisin kuin kääntäjä, joka kääntää koko ohjelman suorittamatta sitä).

3) Ohjelma (joskus laitteisto), joka analysoi komentoja tai ohjelmakäskyjä ja suorittaa ne välittömästi.

4) Kieliprosessori, joka analysoi lähdeohjelman rivi riviltä ja suorittaa samanaikaisesti määrätyt toiminnot sen sijaan, että se luo konekielellä käännetyn ohjelman, joka suoritetaan myöhemmin.

Tulkkien tyypit.

Yksinkertainen tulkki analysoi ja suorittaa välittömästi (varsinaisen tulkinnan) ohjelman komento-komento (tai rivi riviltä), kun sen lähdekoodi saapuu tulkin tuloon. Tämän lähestymistavan etuna on välitön vastaus. Haittapuolena on, että tällainen tulkki havaitsee virheet ohjelmatekstissä vain silloin, kun yritetään suorittaa virheellinen komento (tai rivi).

Kääntäjätyyppinen tulkki on järjestelmä, joka koostuu kääntäjästä, joka kääntää ohjelman lähdekoodin väliesitykseen, esimerkiksi tavukoodiksi tai p-koodiksi, ja tulkista itsestään, joka suorittaa tuloksena olevan välikoodin (ns. virtuaalikone). Tällaisten järjestelmien etuna on suurempi ohjelman suoritusnopeus (johtuen lähdekoodianalyysin poistamisesta erilliseksi, kertaluonteiseksi siirroksi ja tämän analyysin minimoimisesta tulkissa). Haitat - suuremmat resurssivaatimukset ja vaatimus lähdekoodin oikeellisuudesta. Sitä käytetään kielissä, kuten Java, PHP, Python, Perl (käytetään tavukoodia), REXX (lähdekoodin jäsentämisen tulos tallennetaan) sekä erilaisissa DBMS-järjestelmissä (käytetään p-koodia).

Jos kääntäjätyyppinen tulkki jaetaan komponentteihin, tuloksena on kielen kääntäjä ja yksinkertainen tulkki, jonka lähdekoodianalyysi on vähäinen. Lisäksi tällaisen tulkin lähdekoodin ei tarvitse olla tekstimuodossa tai tavukoodia, jonka vain tämä tulkki ymmärtää, vaan se voi olla jonkin olemassa olevan laitteistoalustan konekoodi. Esimerkiksi virtuaalikoneet, kuten QEMU, Bochs, VMware, sisältävät konekooditulkkeja x86-perheen prosessoreille.

Jotkut tulkit (esim. Lisp, Scheme, Python, BASIC ja muut) voivat työskennellä dialogitilassa tai ns. read-eval-print silmukassa (REPL). Tässä tilassa tulkki lukee täydellisen kielirakenteen (esimerkiksi s-lausekkeen Lispissä), suorittaa sen, tulostaa tulokset ja jatkaa sitten odottamaan, että käyttäjä syöttää seuraavan rakenteen.

Ainutlaatuinen on Forth-kieli, joka pystyy toimimaan sekä syöttötietojen tulkinta- että käännöstiloissa, jolloin voit vaihtaa näiden tilojen välillä milloin tahansa sekä lähdekoodin kääntämisen aikana että ohjelmien ollessa käynnissä.

On myös huomattava, että tulkintatilat löytyvät paitsi ohjelmistosta, myös laitteistosta. Siten monet mikroprosessorit tulkitsevat konekoodia käyttämällä sisäänrakennettua laiteohjelmistoa, ja x86-perheen prosessorit, alkaen Pentiumista (esimerkiksi Intel P6 -arkkitehtuurissa), konekoodin suorittamisen aikana esikääntävät sen sisäiseen muotoon. (mikrooperaatioiden sarjaksi).

Algoritmi yksinkertaiselle tulkille:

2. analysoida ohjeet ja määrittää asianmukaiset toimenpiteet;

3. ryhtyä asianmukaisiin toimiin;

4. Jos ohjelman lopetusehtoa ei saavuteta, lue seuraavat ohjeet ja siirry vaiheeseen 2.

Tulkkien edut ja haitat.

Edut:

1) Iso tulkittujen ohjelmien siirrettävyys - ohjelma toimii millä tahansa alustalla, jolla on sopiva tulkki.

2) Pääsääntöisesti edistyneemmät ja visuaaliset keinot lähdekoodien virheiden diagnosointiin.

3) Ohjelman lähdekoodien virheenkorjauksen yksinkertaistaminen.

4) Pienemmät koodikoot verrattuna tavanomaisista kääntäjistä saatuun konekoodiin.

Virheet:

1) Tulkittua ohjelmaa ei voi suorittaa erikseen ilman tulkkiohjelmaa. Itse tulkki voi olla hyvin kompakti.

2) Tulkittu ohjelma toimii hitaammin, koska lähdekoodin välianalyysi ja sen suorituksen ajoittaminen vaativat lisäaikaa verrattuna sen konekoodin suoritukseen, johon lähdekoodi voitaisiin kääntää.

3) Koodioptimointia ei käytännössä ole, mikä johtaa ylimääräisiin menetyksiin tulkittujen ohjelmien nopeudessa.

Linkki.

Linkki(myös linkkieditori, linkkijä) - linkitystä suorittava ohjelma - ottaa syötteeksi yhden tai useamman objektimoduulin ja kokoaa niistä suoritettavan moduulin.

Linkittäjä käyttää moduulien linkittämistä nimitaulukoita, jotka kääntäjä on luonut kussakin objektimoduulissa. Tällaisia ​​nimiä voi olla kahta tyyppiä:

1) Määritetyt tai viedyt nimet - funktiot ja muuttujat, jotka on määritelty tietyssä moduulissa ja jotka on asetettu muiden moduulien käyttöön.

2) Määrittämättömät tai tuodut nimet ovat toimintoja ja muuttujia, joihin moduuli viittaa, mutta ei määrittele niitä sisäisesti.

Linkittäjän tehtävänä on selvittää viittaukset määrittelemättömiin nimiin kussakin moduulissa. Jokaisen tuodun nimen määritelmä löytyy muista moduuleista, nimen maininta korvataan sen osoitteella.

Linkkeri ei yleensä tarkista proseduurien ja toimintojen parametrien tyyppejä ja lukumäärää. Jos sinun on yhdistettävä ohjelmien objektimoduuleja, jotka on kirjoitettu vahvasti kirjoittamalla, lisäapuohjelman on suoritettava tarvittavat tarkistukset ennen linkkieditorin käynnistämistä.

Kokoonpanija.

Kokoonpanija(englanninkielisestä assembleristä - assembler) - tietokoneohjelma, kokoonpanokielellä kirjoitetun ohjelman lähdetekstin kääntäjä konekieliseksi ohjelmaksi.

Kuten itse (kokoonpano)kieli, assemblerit ovat tyypillisesti erityisiä tietylle arkkitehtuurille, käyttöjärjestelmälle ja kielen syntaksin variantille. Samaan aikaan on olemassa monialustaisia ​​tai jopa universaaleja (tarkemmin sanottuna rajoitettu-universaalisia, koska laitteistosta riippumattomia ohjelmia on mahdotonta kirjoittaa matalan tason kielellä) kokoajia, jotka voivat toimia eri alustoilla ja käyttöjärjestelmillä. Jälkimmäisistä voidaan erottaa myös ryhmä ristiinkokoonpanolaitteita, jotka kykenevät keräämään konekoodia ja suoritettavia moduuleja (tiedostoja) muille arkkitehtuureille ja käyttöjärjestelmille.

Kokoonpano ei välttämättä ole ensimmäinen tai viimeinen vaihe suoritettavan ohjelmamoduulin hankkimisessa. Siten monet kääntäjät korkean tason ohjelmointikielistä tuottavat tuloksen kokoonpanokieliohjelman muodossa, jonka kokoaja käsittelee edelleen. Kokoonpanon tulos ei myöskään voi olla suoritettava, vaan konekoodin ja ohjelmatiedon erillisiä ja toisiinsa liittymättömiä osia sisältävä objektimoduuli, josta (tai useista objektimoduuleista) voidaan myöhemmin koota linkkiohjelman ("linker") avulla. suoritettava tiedosto.

Debuggeri tai debuggeri on kehitysympäristömoduuli tai erillinen sovellus, joka on suunniteltu etsimään ohjelman virheitä. Debuggerin avulla voit suorittaa vaiheittaisen jäljityksen, seurata, asettaa tai muuttaa muuttujaarvoja ohjelman suorittamisen aikana, asettaa ja poistaa keskeytyskohtia tai pysäytysehtoja ja niin edelleen.

Luettelo debuggereista.

1) AQtime on kaupallinen virheenkorjausohjelma sovelluksille, jotka on luotu .NET Frameworkin versioille 1.0, 1.1, 2.0, 3.0, 3.5 (mukaan lukien ASP.NET-sovellukset), sekä Windows 32- ja 64-bittisille sovelluksille.

2) DTrace on dynaaminen jäljityskehys Solaris-, OpenSolaris-, FreeBSD-, Mac OS X- ja QNX-käyttöjärjestelmille.

3) Electric Fence - muistin debuggeri.

4) GNU Debugger (GDB) - ohjelman debuggeri GNU-projektista.

5) IDA on tehokas purkuohjelma ja matalan tason virheenkorjausohjelma Windows- ja Linux-käyttöjärjestelmille.

6) Microsoft Visual Studio - ohjelmistokehitysympäristö, joka sisältää Microsoftin vianetsintätyökalut.

7) OllyDbg on ilmainen matalan tason virheenkorjausohjelma Windows-käyttöjärjestelmille.

8) SoftICE on matalan tason virheenkorjausohjelma Windows-perheen käyttöjärjestelmille.

9) Sun Studio - Sun Microsystems Corporationin ohjelmistokehitysympäristö, mukaan lukien dbx-virheenkorjaus Solaris- ja Linux-käyttöjärjestelmille.

10) Dr. Watson on tavallinen Windows-debuggeri, jonka avulla voit luoda muistivedoksia.

11) TotalView on yksi kaupallisista UNIX-virheenkorjausohjelmista.

12) WinDbg on ilmainen virheenkorjausohjelma Microsoftilta.

Dokumentaatiogeneraattori - ohjelma tai ohjelmistopaketti, jonka avulla voit hankkia ohjelmoijille (API-dokumentaatio) ja/tai järjestelmän loppukäyttäjille tarkoitettua dokumentaatiota, erityisesti kommentoitavaa lähdekoodia ja joissain tapauksissa suoritettavia moduuleja (saatavia lähdössä) kääntäjästä).

Tyypillisesti generaattori analysoi ohjelman lähdekoodia korostaen merkittäviä ohjelmaobjekteja (tyypit, luokat ja niiden jäsenet/ominaisuudet/menetelmät, menettelyt/funktiot jne.) vastaavat syntaktiset rakenteet. Analyysissä käytetään myös ohjelmaobjektien metatietoa, joka esitetään dokumentoivien kommenttien muodossa. Kaiken kerätyn tiedon perusteella luodaan valmiita dokumentaatioita, yleensä jossakin yleisesti hyväksytyistä muodoista - HTML, HTMLHelp, PDF, RTF ja muut.

Kommenttien dokumentointi.

Dokumentoiva kommentti on erityisesti suunniteltu