Ohjelmakehitystyökalut. Ohjelmistokehitysteknologia Yritysohjelmistojen kehitystyökalujen tutkimus

Johdanto

Kehitysvaiheessa ohjelmisto Käytössä on suuri määrä monipuolisimpia ohjelmistoja (ohjelmistoja). Tällä luentokurssilla tarkastellaan, milloin ja mitä käytetään koko sovelluskehitysvaiheessa.

Jotta saadaan täydellisempi käsitys kunkin apuohjelman tai kehitysosion roolista ohjelmiston luomisprosessissa, kaikkia tällä luentokurssilla käsiteltyjä työkaluja käsitellään sovelluskehityksen esimerkin avulla käyttämällä yhtä korkean tason kieliä. Yksinkertaisuuden vuoksi kaikki käytetyt työkalut voidaan jakaa 4 ryhmään. Tarkastellaanpa kutakin ryhmää tarkemmin.

Edellytetään

Tarvittavat työkalut ovat sellaisia, joita ilman suoritettavaa koodia on periaatteessa mahdotonta saada; Tähän ryhmään kuuluvat:

§ tekstieditorit;

§ kääntäjät ja kokoajat;

§ linkittäjät tai toimittajat;

Usein käytetty

Nämä ovat keinoja, joiden käyttö, toisin kuin välttämättömät, voidaan välttää. Mutta ilman niitä kehitysprosessi on erittäin vaikea ja pitkittynyt; Usein käytettyjen keinojen joukossa on syytä mainita:

§ apuohjelmat automaattiseen projektin kokoonpanoon;

§ debuggerit;

§ asennusohjelmien luontiohjelmat;

§ resurssien toimittajat;

§ profiloijat;

§ version tukiohjelmat;

§ Ohjetiedostojen (dokumentaation) luomiseen tarvittavat ohjelmat.

Erikoistunut

Näitä työkaluja käytetään poikkeustapauksissa ja ne ratkaisevat melko erityisiä ongelmia:

§ riippuvuuden seurantaohjelmat;

§ purkajat;

§ purkajat;

§ hex-editorit;

§ ohjelmat järjestelmän toiminnan ja järjestelmässä tapahtuvien muutosten seurantaan;

§ todentamisohjelmat ja -säiliöt (luoda yksittäisille ohjelmaluokille virtuaalinen ympäristö, jossa ohjelman toimintaa voidaan tutkia);

Integroidut kehitysympäristöt

Integroidut kehitysympäristöt sisältävät useimmat yllä mainitut ohjelmat ja helpottavat sovellusten luomista. Yleisesti ottaen kehitysympäristö on ohjelma, joka kokoaa yhteen useita työkaluja ensimmäisestä ja toisesta (ja joskus myös kolmannesta) ryhmästä.

Jatkossa tutustumme tarkemmin kunkin ryhmän pääedustajiin ja pohdimme myös, miten se kaikki toimii integroidussa kehitysympäristössä.

TYÖKALUJEN LUOKITUS

AIHE 1 TYÖKALUKÄSITE.

TYÖKALUJEN LUOKITUS.

Ohjelmointiteknologian työkalujärjestelmä on integroitu ohjelmisto- ja laitteistotyökalusarja, joka tukee kaikkia suurten ohjelmistojärjestelmien kehitys- ja ylläpitoprosesseja koko ajan elinkaari tietyn tekniikan puitteissa.

Instrumentaalisen ohjelmoinnin teknologiajärjestelmät voidaan jakaa kolmeen pääkomponenttiin:

· arkisto,

· työkalut,

· käyttöliittymät.

Työkalut- joukko työkaluja, jotka määrittelevät järjestelmän kehitystiimille tarjoamat ominaisuudet. Tyypillisesti tämä sarja on avoin ja jäsennelty. Minimisarjan lisäksi ( sisäänrakennetut työkalut), se sisältää välineet sen laajentamiseksi ( maahantuodut työkalut). Lisäksi integroitujen toimiensa ansiosta se koostuu tietystä yhteisestä osasta kaikkia työkaluja ( ytimiä) ja rakenteelliset (joskus hierarkkisesti liittyvät) työkaluluokat.

Liitännät on jaettu käyttäjiin ja järjestelmiin. Mukautettu Käyttöliittymä tarjoaa kehittäjille pääsyn työkaluihin. Sitä pannaan täytäntöön kuori järjestelmät. Järjestelmä Liitännät tarjoavat vuorovaikutusta työkalujen ja niiden yhteisten osien välillä. Järjestelmärajapinnat tunnistetaan arkkitehtonisiksi komponenteiksi järjestelmän avoimuuden vuoksi - niiden käyttöön tarvitaan uusia ( tuotu) järjestelmään sisältyvät työkalut.

Ohjelmointitekniikan instrumentaalijärjestelmien yleisin arkkitehtuuri on esitetty kuvassa.

Riisi. Ohjelmointitekniikan instrumentaalijärjestelmien yleinen arkkitehtuuri.

Ohjelmointiteknologian työkalujärjestelmiä on kaksi luokkaa: projektitukityökalujärjestelmät ja kieliriippuvaiset työkalujärjestelmät.

Instrumentaalinen hanketukijärjestelmä- Tämä avoin systeemi, joka pystyy tukemaan ohjelmistojen kehitystä eri ohjelmointikielillä sen asianmukaisen laajennuksen jälkeen valittuun kieleen keskittyneillä ohjelmistotyökaluilla. Tällaisen järjestelmän työkalusarja tukee ohjelmistokehitystä ja sisältää myös ohjelmointikielistä riippumattomia työkaluja, jotka tukevat ohjelmistokehitystä (teksti- ja graafinen editori, raporttigeneraattorit jne.). Lisäksi se sisältää järjestelmän laajennustyökaluja. Tällaisen järjestelmän ydin tarjoaa erityisesti pääsyn arkistoon.

Kieliherkkä työkalujärjestelmä on ohjelmistokehitystä tukeva järjestelmä millä tahansa ohjelmointikielellä, joka olennaisesti hyödyntää tämän kielen erityispiirteitä työnsä organisoinnissa. Tämä spesifisyys voi vaikuttaa sekä ytimen ominaisuuksiin (mukaan lukien arkiston rakenne) että kuoren ja työkalujen vaatimuksiin.

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

Aihealueen opiskelun yhteydessä tutkittiin työkaluja virtuaalisten retkien luomiseen. Seuraavaa tutkittiin keinona luoda virtuaaliretki:

KPresenter on ilmainen esitysohjelma, joka on osa KOffice- ja KDE-projekteja. Ohjelman käyttöliittymä näkyy kuvassa 6.

Kuva 6 - Kpresenter.

Adobe Photoshop valittiin useiden muiden ohjelmien (Paint, Paint.net, Photoshop online jne.) edelle, koska se on melko helppo oppia ja käyttää. Siihen on luotu suuri määrä videotunteja, ja lisäksi se on mukana opinto-ohjelmassa. Sen avulla jatkuvasti ilmenevät vääristymät poistetaan. Ohjelman käyttöliittymä näkyy kuvassa 7.


Kuva 7 - Adobe Photoshop.

Microsoft Paint on monitoiminen, mutta samalla melko helppokäyttöinen rasterigrafiikkaeditori Microsoftilta, joka sisältyy kaikkiin käyttöjärjestelmiin. Windows-järjestelmät, alkaen ensimmäisistä versioista. Ohjelman käyttöliittymä näkyy kuvassa 8.


Kuva 8- Maali.

Paint.NET on ilmainen rasterigrafiikkaeditori Windows NT:lle, joka perustuu .NET Frameworkiin. Sovellus alkoi projektina, jonka on kehittänyt ryhmä Washington State Universityn opiskelijoita Microsoft Windows Microsoftin johdolla. Paint.NET on kirjoitettu C#-kielellä, ja jonkin verran C++:aa käytetään asennuksen ja shell-integroinnin aikana.

Photoshop verkossa - ilmainen internet resurssi osoitteessa http://photoshop.domfailov.ru. Graafinen editori, jossa on paljon ominaisuuksia. Sovellus, jonka avulla voit suorittaa erilaisia ​​toimintoja kuvan parantamiseksi ja käsittelemiseksi. Tällaisia ​​toimia ovat: värinkäsittely, asennus ja paljon muuta. Ohjelman käyttöliittymä näkyy kuvassa 9.


Kuva 9 - Photoshop verkossa.

Microsoft Office Word 2003 on tekstinkäsittelyohjelma, joka on suunniteltu luomiseen, katseluun ja muokkaamiseen tekstiasiakirjoja, jossa käytetään paikallisesti yksinkertaisimpia taulukkomatriisialgoritmien muotoja. Microsoft Corporationin tuottama osana Microsoft Office -pakettia Ohjelman käyttöliittymä näkyy kuvassa 10.


Kuva 10 - Microsoft Office Word 2003.

Microsoft Power Point on esitysten luomiseen ja pitämiseen tarkoitettu ohjelma, joka on osa Microsoft Officea ja on saatavilla käyttöjärjestelmille tarkoitettuina versioina. Ohjelman käyttöliittymä näkyy kuvassa 11.


Kuva 11 - Microsoft Power Point.

Microsoft ICE Autopano Giga, Ulead Cool 360, The Panorama Factory, PTGui Pro helppokäyttöisyytensä ja sen ilmaisemisen vuoksi. Jos haluat yhdistää valokuvat panoraamakuvaksi, sinun tarvitsee vain siirtää ne ohjelman työalueelle ja sitten ohjelma toimii automaattisesti. Ohjelman käyttöliittymä näkyy kuvassa 12.


Kuva 12 - Microsoft ICE.

Autopano Giga - Koko luontiprosessi on täysin automatisoitu: se korjaa ja tasapainottaa kirkkautta ja väriä, säätää fragmentteja ja löytää automaattisesti liimattavaksi sopivat valokuvat käyttäjän määrittämästä kansiosta. Huomattava määrä muotoja tuetaan (mukaan lukien RAW-muodossa). Ohjelman käyttöliittymä näkyy kuvassa 13.


Kuva 13 - Autopano Giga.

PTGui Pro - kaupallinen (shareware) tietokoneohjelma Panoraamakuvien luomiseen, jonka on kehittänyt ja tukenut hollantilainen New House Internet Services -yhtiö Rotterdamissa, perustettu vuonna 1996. PTGui oli alun perin graafinen käyttöliittymä ilmaisille Panorama Tools -työkaluille (tästä ohjelman nimi), mutta ohjelman myöhemmät versiot toimivat omalla valokuvien yhdistämisalgoritmillaan. Ohjelman käyttöliittymä näkyy kuvassa 14.


Kuva 14 - PTGui Pro.

Microsoft Office SharePoint Designer 2007 - Ohjelma on helppokäyttöinen ja jaettava ilmaiseksi. Ohjelmalla on laaja valikoima ominaisuuksia, erityisesti se voi lähettää sivuston kehittäjän tekemät muutokset automaattisesti lähdeteksteihin reaaliajassa. Ohjelman käyttöliittymä näkyy kuvassa 15.


Kuva 15 - Microsoft Office SharePoint Designer.

Pano2VR on yksinkertaisin muista vaihtoehdoista (Photo Warp, Tourweaver, Panorama2Flash, Pano2QTVR ilmainen, JATC, Easypano Studio Pro); tällaisilla ominaisuuksilla varustettuja tunnettuja ohjelmia on hyvin vähän, ja tällä alalla kiistaton johtaja on amerikkalainen yritys IPIX. Corporation (http://www.ipix.com), joka on virtuaalimatkatekniikan kirjoittaja. Siksi sen ohjelmistotuotteita käytetään useimmiten kiertomatkojen kehittämisessä, myös Venäjällä. Siellä on kuitenkin erittäin mielenkiintoisia vaihtoehtoisia vaihtoehtoja muilta yrityksiltä, ​​jotka myös tarjoavat erinomaisia ​​tuloksia, mutta maksavat paljon vähemmän.

Easypano Studio Paketti sisältää kaksi ohjelmistomoduulia: Panoweaver ja Tourweaver. Ensimmäinen niistä on 360×360 pallomainen panoraamaompelu, joka on mahdollista sekä täysautomaattisessa että Manuaalitila, ja toisen avulla voit yhdistää panoraamoja ja muita tietoja virtuaalikierroksiin. Tourweaver-sovellusta voidaan käyttää paitsi Panoweaverin kanssa myös itsenäisenä, koska se tukee muilla ompeleilla luotujen panoraamien tuontia. Voit esimerkiksi tuoda Panorama Factoryssa tuotettuja sylinterimäisiä panoraamoja tai 3D-paketeissa, erityisesti 3D Studio Maxissa, luotuja panoraamoja. Lisäksi on mahdollista tuoda panoraamoja digitaalisista panoraamakameroista Kaidan's 360 One VR, Panoscan, RoundShot jne. Ohjelman käyttöliittymä näkyy kuvassa 16.

Kuva 16 - 360 Degrees Of Freedom Developer Suite.

SP_VTB, SP_STITCHER - Spherical Panorama -yritys on erikoistunut ohjelmistojen kehittämiseen erityyppisten panoraamien luomiseen ja yhdistämiseen virtuaalimatkoiksi, mutta meidän tapauksessamme SP_STITCHER-kuvanidoija panoraamaksi ja SP_VTB-virtuaalimatkan rakentaja kiinnostavat eniten. Ne toimitetaan erillisinä sovelluksina, mutta virtuaalikierroksia kehitettäessä ne täydentävät toisiaan, koska SP_VTB mahdollistaa kiertomatkojen luomisen vain SP_STITCHER-ympäristössä saatujen spf-muotoisten panoraamojen perusteella. Molemmat sovellukset ovat melko helppokäyttöisiä, ja mukana tulevat yksityiskohtaiset dokumentaatiot, useat kalansilmäompelutestisarjat ja virtuaalinen kokeilukierros auttavat sinua ymmärtämään työn monimutkaisuuden nopeasti. Ohjelman käyttöliittymä näkyy kuvassa 17.

Kuva 17 - SP_VTB, SP_STITCHER.

IPIX Interactive Studio, IPIX Real Estate Wizard, IPIX i-Linker - Sovelluksina virtuaalisten kiertomatkojen luomiseen IPIX tarjoaa IPIX i-Linker 3.1- ja IPIX Multimedia Toolkit -ohjelmistopaketit, joita on järkevää käyttää vain yhdessä IPIX-ompeleen kanssa, koska molemmat sovellukset on määritetty käyttämään IPIX-panoraamaa. IPIX Interactive Studio- ja IPIX Real Estate Wizard -paketteja voidaan käyttää ohjelmina panoraamien yhdistämiseen. Ohjelman käyttöliittymä näkyy kuvassa 18.

Kuva 18 - SP_VTB, SP_STITCHER.

No itse asiassa Pano2VR on virtuaalisten 3D-panoraamien tuotantoon osallistuville tarkoitettu ohjelma, uusi tuote tarjoaa kaikki tarvittavat nykyaikaiset ominaisuudet Flash-teknologiaan perustuvan sisällön esittämiseen. Jälkikäsittelyn lisäksi voit myös tehdä tekstuurimuunnoksia (valikoima on suuri) ja luoda esikatselukuvia (pikkukuva). Uusi konsepti on kirjoitettu uudelleen tyhjästä, ja siihen on lisätty valtava määrä parannuksia ja ominaisuuksia. Vaikka ohjelma, kuten ennenkin, tukee muuntamista QTVR-muotoon, pääpaino tässä painoksessa asetettiin Flash-tekniikkaan. Sovellus pallomaisten tai sylinterimäisten panoraamakuvien muuntamiseen QuickTime VR:ksi (QTVR) tai Adobe Flash 8 ja Flash 9/10 (SWF). Mahdollisuus luoda omia malleja panoraamoja, painikkeita varten, lisätä animaatiota ja ääntä sekä automaattinen kierto. Ohjelman käyttöliittymä näkyy kuvassa 19.

Kuva 19 - Pano2VR.

Pano2VR-työkalut:

Patch Tool. Mahdollistaa alkuperäisen kuvan dynaamisen korjauksen. Voit valita panoraama-alueen ja viedä sen kuvankäsittelyohjelmistoon. Tukee mahdollisuutta muokata vain valittuja alueita, jotka on korjattava, eikä se vaikuta muuhun kuvaan.

Skin Editor. Mahdollisuus luoda oma panoraamamalli. Voit lisätä omia painikkeita ja grafiikkaa, malleja. Voit myös lisätä animaatioita ja äänitehosteita malliisi.

Äänieditori. Mahdollisuus lisätä erilaisia ​​ääniä panoraamiin.

Flash-vienti. Vie panoraamoja, mukaan lukien kaikki graafiset elementit yhtenä kokonaisuutena SWF-tiedosto muoto. Tämä yksinkertaistaa huomattavasti panoraaman lähettämistä sisällönhallintajärjestelmään tai sen sijoittamista blogiin. Lieriömäisiä ja kuutiomaisia ​​panoraamoja voidaan kääntää automaattisesti liikkeen suunnan, nopeuden ja viiveen mukaan. Panoraamat voivat sisältää hot spotteja sekä ennalta määritettyjä tai täysin muokattavissa olevia malleja. Sisäänrakennetun mallieditorin avulla voit myös lisätä karttoja, linkkejä, logoja ja muuta tietoa panoraamaan käyttäjäystävällisessä muodossa.

QuickTime VR Export. Mahdollisuus viedä sylinterimäisiä ja kuutiomaisia ​​panoraamoja QuickTime VR -muotoon.

Adobe Flash Player on ohjelma, jonka kautta retkiä esitellään; muut vaihtoehdot ovat mahdollisia (CD-levyille tallennettuja Java-sovelmia katsellaan erityisillä retkiselaimilla), mutta Adobe-brändin suosion ja Flash Playerin laajan käytön ansiosta tämä sitä tullaan käyttämään

Share Point Designer 2007 -WYSIWYG HTML- ilmainen editori ja Microsoftin web-suunnitteluohjelma, Microsoft Office FrontPagen korvike ja osa SharePoint-perhettä. Se on yksi Microsoft Office 2007 -ohjelmistopaketin osista, mutta se ei sisälly mihinkään toimistopaketteihin (asennettu erikseen). Nimenmuutos FrontPagesta SharePoint Designeriin johtuu sen tarkoituksesta: Microsoft SharePoint -sivustojen luomisesta ja suunnittelusta. SharePoint Designerilla on sama HTML-renderöintimoottori kuin Microsoft Expression Webissä, eikä se ole riippuvainen selaimen Trident-moottorista Internet Explorer, joka on vähemmän yhteensopiva yleisten standardien kanssa.

Yandex Internet on nykyaikaisin ja siksi nopeampi ja lupaava selain. Retki testataan sillä, valinta tehtiin useista vaihtoehdoista: Google Chrome(Kuva 2), Chromium (Kuva 22), Yandexin Chrome (Kuva 23), Microsoft Internet Explorer (Kuva 24), Mozilla Firefox(Kuva 25), Opera (Kuva 26), Yandex (Kuva 20) jne.

Kuva 20 - Yandex-selain.

Kuva 21 - Google Chrome.

Kuva 22 - Opera.

Kuva 23 - Kromi.

Kuva 24 - Chrome Yandex.

Kuva 25 - Internet Explorer.

Kuva 26 - Mozilla Firefox.

Alla luetellut ohjelmat on valittu työkaluluettelosta alla luetelluista syistä.

Perustelut kehitystyökalujen ja ohjelmistojen valinnalle

Ohjelmistokehitystyökaluja koskevan tutkimuksen perusteella koulun 2 virtuaalikierroksen kehittämisen työkaluina käytetään seuraavia:

Adobe Photoshop CS3 - pystyy työskentelemään useiden tiedostomuotojen kanssa, luomaan, tallentamaan, muokkaamaan ja muuttamaan kuvia eri tavoilla. Monitoiminen graafinen editori, joka on täydellinen tarkempiin tuloksiin kuvien yhdistämisestä panoraamaksi.

Microsoft ICE versio 1.4.4.0 - ohjelmaa tarvitaan yhdistämään useita yksittäisiä valokuvia yhdestä kohteesta oikealla järjestyksellä yhdeksi panoraamakuvaksi.

Pano2VR versio 4.1.0 pro - ohjelma panoraamien yhdistämiseen retkiksi.

Adobe flash-soitin 13 lisäosaa ilmainen ohjelma katsomaan kiertuetta.

Yandex Internet 14.4.1750.13414 on uusin, kätevin ja nopein selain.

Share Point Designer 2007 - ilmainen muokkausohjelma verkkosivut, Microsoftin HTML-editori ja web-suunnitteluohjelma, Microsoft Office FrontPagen korvike ja osa SharePoint-perhettä.

Microsoft Word on tekstieditori ja asiakirjaeditori. Se tekee vaikutuksen toiminnallisuudellaan ja soveltuvuudellaan, se pystyy työskentelemään eri formaattien kanssa.

Microsoft Office PowerPoint on osa Microsoft Officea. Tämän ansiosta PowerPointista tuli maailman laajimmin käytetty esitysohjelma. Ohjelman käyttäjät lähettävät usein PowerPoint-esitystiedostoja muille tietokoneille, mikä tarkoittaa, että kilpailijoiden ohjelmien tulee olla yhteensopivia niiden kanssa.

Valitut kehitystyökalut tutkittiin ja asennettiin tietokoneelle. Ohjelmistokehitys toteutetaan heidän avullaan.

1. Kehitystyökalut ohjelmisto. Ohjelmistokehitysprosessissa käytetään jossain määrin tietokonetukea ohjelmistokehitysprosesseille. Tämä saavutetaan esittämällä ainakin jotkin ohjelmiston ohjelmistoasiakirjat (pääasiassa ohjelmat) tietokoneen tallennusvälineillä (esimerkiksi levyillä) ja asettamalla ohjelmistokehittäjän saataville tietokoneeseen sisältyvät erityiset ohjelmistot tai erityislaitteet, jotka on luotu tällaisten ohjelmien käsittelyä varten. asiakirjoja. Erityisenä ohjelmistona voit määrittää kääntäjän mistä tahansa ohjelmointikielestä.

Kääntäjä vapauttaa ohjelmistokehittäjän tarpeesta kirjoittaa ohjelmia kehittäjälle tarkoitetulla tietokonekielellä. PS olisi erittäin hankala - sen sijaan se kääntää ohjelmia sille sopivalla ohjelmointikielellä, jonka vastaava kääntäjä kääntää automaattisesti tietokonekieleksi. Kielen emulaattori voi toimia erikoislaitteena, joka tukee ohjelmistokehitysprosessia. Emulaattorin avulla voit suorittaa (tulkkia) ohjelmia eri kielellä kuin ohjelmiston kehitystä tukevan tietokoneen kieli, esimerkiksi sen tietokoneen kielellä, jolle tämä ohjelma on tarkoitettu. Muiden ohjelmistojen kehitystä tukemaan suunniteltua ohjelmistoa kutsutaan ohjelmistokehityksen ohjelmistotyökaluksi ja erityisesti ohjelmistokehitystä tukemaan suunniteltua tietokonelaitetta ohjelmistokehityksen laitteistotyökaluksi.

Ohjelmiston kehitystyökaluja voidaan käyttää koko ohjelmiston elinkaaren ajan erilaisten ohjelmadokumenttien kanssa työskentelyyn. Joten tekstieditorilla voidaan kehittää melkein mitä tahansa ohjelmistodokumenttia. Ohjelmistokehityksen aikana työkalujen suorittamien toimintojen näkökulmasta ne voidaan jakaa seuraaviin neljään ryhmään: · editorit, · analysaattorit, · muuntimet, · ohjelman suoritusta tukevat työkalut.

Toimittajat tukevat tiettyjen ohjelmadokumenttien suunnittelua (muodostusta) elinkaaren eri vaiheissa. Kuten jo mainittiin, voit käyttää yhtä yleistä tekstieditoria tähän. Erikoistuneet editorit voivat kuitenkin tarjota vahvempaa tukea: jokaisella asiakirjatyypillä on oma editorinsa. Erityisesti kehitysvaiheessa graafisia kuvausvälineitä (kaavioita, kaavioita jne.) voidaan käyttää laajasti asiakirjoissa. Tällaisissa tapauksissa graafiset editorit voivat olla erittäin hyödyllisiä. Ohjelmointivaiheessa (koodaus) tekstieditorin sijaan syntaktisesti ohjattu käytettävälle ohjelmointikielelle orientoitu editori voi olla kätevämpi. Analysaattorit suorittavat joko asiakirjojen staattista prosessointia, erityyppistä valvontaa, niiden tiettyjen ominaisuuksien tunnistamista ja tilastotietojen keräämistä (esimerkiksi tarkistamalla, ovatko asiakirjat määritettyjen standardien mukaisia) tai analysoimalla ohjelmia dynaamisesti (esim. ohjelman toiminta-ajan jakautuminen ohjelmistomoduulien kesken). Muuntimien avulla voit muuntaa asiakirjat automaattisesti toiseen esitysmuotoon (esimerkiksi muotoilijoihin) tai kääntää yhden tyyppisen asiakirjan toisen tyyppiseksi asiakirjaksi (esimerkiksi muuntimet tai kääntäjät), syntetisoida asiakirjan erillisistä osista jne.

Ohjelman suoritusta tukevien työkalujen avulla voit suorittaa tietokoneella kuvauksia prosesseista tai niiden yksittäisistä osista, jotka esitetään muussa muodossa kuin konekoodilla tai konekoodilla. lisäominaisuuksia hänen tulkintojaan. Esimerkki tällaisesta työkalusta on toisen tietokoneen koodin emulaattori. Tämä työkaluryhmä sisältää myös erilaisia ​​​​debuggereja. Pohjimmiltaan jokainen ohjelmointijärjestelmä sisältää ajonaikaisen ohjelmistoalijärjestelmän, joka suorittaa ohjelmointikielelle tyypillisimmät ohjelmafragmentit ja tarjoaa vakioreaktion ohjelman suorittamisen aikana ilmeneviin poikkeuksellisiin tilanteisiin (kutsumme tällaista alijärjestelmää executive supportiksi) - voidaan myös pidetään työkaluna näille ryhmille.

2. Työkaluympäristöt ohjelmistojen kehittämiseen ja ylläpitoon. Tällä hetkellä jokainen ohjelmointijärjestelmä ei liity yksittäisiin työkaluihin (esimerkiksi kääntäjään), vaan tiettyyn loogisesti toisiinsa liittyvään ohjelmisto- ja laitteistotyökalusarjaan, joka tukee ohjelmistojen kehittämistä ja ylläpitoa tietyllä ohjelmointikielellä tai keskittyy tiettyyn ohjelmointikieleen. aihealue. Kutsumme tällaista sarjaa ohjelmistokehityksen ja -ylläpidon instrumentaaliseksi ympäristöksi. Tällaisille työkaluympäristöille on tunnusomaista ensinnäkin sekä ohjelmisto- että laitteistotyökalujen käyttö ja toiseksi tietty suuntautuminen joko tiettyyn ohjelmointikieleen tai tiettyyn aihealueeseen. Työkaluympäristön ei välttämättä tarvitse toimia sillä tietokoneella, jolla sen avulla kehitettyä ohjelmistoa käytetään. Usein tällainen yhdistelmä on varsin kätevä (jos vain käytetyn tietokoneen teho sallii): erityyppisten tietokoneiden kanssa ei tarvitse käsitellä, itse työkaluympäristön komponentit voidaan sisällyttää kehitettyyn ohjelmistoon.

Työkaluympäristöjä on kolme pääluokkaa PS-ohjelmointiympäristöjen kehittämiseen ja ylläpitoon, · tietotekniikan työpaikat, · ohjelmointitekniikan työkalujärjestelmät. Ohjelmointiympäristö on tarkoitettu pääasiassa tukemaan ohjelmiston ohjelmoinnin (koodauksen), testauksen ja virheenkorjauksen prosesseja. Työpaikka tietotekniikka keskittyy tukemaan ohjelmistokehityksen alkuvaiheita (spesifikaatioita) ja ohjelmien automaattista generointia spesifikaatioiden mukaan. Ohjelmointiteknologian työkalujärjestelmä on suunniteltu tukemaan kaikkia kehitys- ja ylläpitoprosesseja ohjelmiston koko elinkaaren ajan ja keskittyy suurten ja pitkäikäisten ohjelmistojärjestelmien kollektiiviseen kehittämiseen.

3. Työkalujen ohjelmointiympäristöt sisältävät ennen kaikkea tekstieditorin, jonka avulla voit rakentaa ohjelmia tietyllä ohjelmointikielellä, työkalut, joiden avulla voit kääntää tai tulkita ohjelmia tällä kielellä sekä testata ja testata syntyviä ohjelmia. Lisäksi voi olla muita työkaluja, esimerkiksi staattista tai dynaamista ohjelma-analyysiä varten. Nämä työkalut ovat vuorovaikutuksessa toistensa kanssa tavallisten tiedostojen kautta käyttämällä vakioominaisuuksia tiedostojärjestelmä. Ohjelmointityökaluista erotetaan seuraavat luokat: yleiskäyttöiset ympäristöt, kielilähtöiset ympäristöt.

Yleiskäyttöiset ohjelmointiympäristöt sisältävät joukon ohjelmistotyökaluja, jotka tukevat ohjelmien kehitystä eri ohjelmointikielillä (esimerkiksi tekstieditori, linkkieditori tai tulkki kohdetietokoneen kielelle) ja edustavat yleensä joitain käytettävän käyttöjärjestelmän ominaisuuksien laajentaminen. Ohjelmoidaksesi sellaisessa ympäristössä millä tahansa ohjelmointikielellä, jota tarvitset lisätyökaluja suunnattu tälle kielelle (esimerkiksi kääntäjä). . . Ohjelmointityökalujen luokitus

4. Tietotekniikan käsite ohjelmistokehitykseen ja sen tehtävät. CASE-tekniikan (ohjelmistokehitykseen tarkoitettu tietokoneteknologia) tiukan määritelmän kehittäminen aiheuttaa joitain vaikeuksia. CASE on lyhenne sanoista Computer-Aided Software Engineering. Mutta ilman tietokoneen apua (tukea) ohjelmistojärjestelmiä ei ole kehitetty pitkään aikaan (ainakin kääntäjää käytetään). Itse asiassa tälle käsitteelle annetaan suppeampi (erityinen) merkitys, joka hämärtyy vähitellen (kuten aina tapahtuu, kun käsitteellä ei ole tiukkaa määritelmää). Aluksi CASE ymmärrettiin ohjelmistokehityksen alkuvaiheiden suunnitteluksi (vaatimusten määrittely, ohjelmiston ulkoisen kuvauksen ja arkkitehtuurin kehittäminen) ohjelmistotuen (ohjelmistotyökalut) avulla. Nyt CASE voidaan ymmärtää myös ohjelmistojärjestelmän koko elinkaaren suunnitteluna (mukaan lukien sen ylläpito), mutta vain siinä tapauksessa, että ohjelmat generoidaan osittain tai kokonaan näissä varhaisissa kehitysvaiheissa hankituista dokumenteista. Tässä tapauksessa CASE-tekniikka alkoi poiketa perusteellisesti ohjelmistokehityksen manuaalisesta (perinteisestä) tekniikasta: ei vain teknisten prosessien sisältö ole muuttunut, vaan myös niiden kokonaisuus.

Tällä hetkellä tietokoneohjelmistojen kehitysteknologiaa voidaan luonnehtia: - ohjelmistotuen käyttö ohjelmiston graafisten vaatimusten ja graafisten spesifikaatioiden kehittämiseen, - ohjelmien automaattinen generointi millä tahansa ohjelmointikielellä tai konekoodilla (osittain tai kokonaan) , - ohjelmistotuki prototyyppien tekemiseen.

Ohjelmointiteknologiatyökalujärjestelmä on integroitu ohjelmisto- ja laitteistotyökalusarja, joka tukee kaikkia suurten ohjelmistojärjestelmien kehitys- ja ylläpitoprosesseja koko elinkaaren ajan tietyn teknologian puitteissa. Tästä määritelmästä seuraa seuraavat tämän luokan tietokonetukiominaisuudet: · monimutkaisuus · keskittyminen kollektiiviseen kehitykseen · tekninen varmuus · integraatio.

Ohjelmointitekniikan instrumentaalisten järjestelmien käsitellyt ominaisuudet huomioon ottaen voidaan erottaa kolme niiden pääkomponenttia: · kehitystietokanta (varasto), · työkalut, · rajapinnat.

Arkisto on ohjelmistojärjestelmän projektiin (kehitykseen) liittyvän tiedon keskusvarasto sen koko elinkaaren ajan. Toolkit - työkalusarja, joka määrittelee järjestelmän kehitystiimille tarjoamat ominaisuudet. Tyypillisesti tämä sarja on avoin: minimisarjan (sisäänrakennetut työkalut) lisäksi se sisältää välineet sen laajentamiseen (tuodut työkalut) ja strukturoidun, joka koostuu jostain kaikkien työkalujen yhteisestä osasta (ydin) ja rakenteellisesta (joskus). hierarkkisesti toisiinsa liittyvät) työkaluluokat. Liitännät on jaettu 1) käyttäjä 2) järjestelmään. Käyttöliittymä tarjoaa kehittäjille pääsyn työkaluihin (komentokieli jne.), ja sen toteuttaa järjestelmän kuori. Järjestelmärajapinnat mahdollistavat vuorovaikutuksen työkalujen ja niiden yhteisten osien välillä. Järjestelmärajapinnat korostuvat arkkitehtonisina komponentteina järjestelmän avoimuuden vuoksi - niitä edellytetään järjestelmään sisältyvien uusien (tuotujen) työkalujen käyttöön.

Ohjelmointiteknologian työkalujärjestelmiä on kaksi luokkaa: 1) projektitukityökalujärjestelmät ja 2) kieliriippuvaiset työkalujärjestelmät. Instrumentaalinen projektitukijärjestelmä on avoin järjestelmä, joka pystyy tukemaan ohjelmistojen kehitystä eri ohjelmointikielillä sen jälkeen, kun se on laajennettu asianmukaisesti valittuun kieleen keskittyneillä ohjelmistotyökaluilla. Tällainen järjestelmä sisältää ytimen (joka tarjoaa erityisesti pääsyn tietovarastoon), joukon työkaluja, jotka tukevat ohjelmistokehityksen hallintaa, ohjelmointikielistä riippumattomia työkaluja, jotka tukevat ohjelmistokehitystä (teksti- ja graafiset editorit, raporttigeneraattorit jne.) , sekä järjestelmän laajennustyökalut. Kieliriippuvainen instrumentaalijärjestelmä on ohjelmistokehitystä tukeva järjestelmä jollakin ohjelmointikielellä, joka olennaisesti hyödyntää tämän kielen erityispiirteitä työnsä organisoinnissa. Tämä spesifisyys voi vaikuttaa sekä ytimen ominaisuuksiin (mukaan lukien arkiston rakenne) että kuoren ja työkalujen vaatimuksiin.

Unified Modeling Language UML Useimmat olemassa olevat olio-analyysi- ja suunnittelumenetelmät (OOAP) sisältävät sekä mallinnuskielen että mallinnusprosessin kuvauksen. Mallinnuskieli on merkintä (useimmiten graafinen), jota menetelmä käyttää projektien kuvaamiseen. Merkintä on kokoelma graafisia objekteja, joita käytetään malleissa; se on mallinnuskielen syntaksi. Esimerkiksi luokkakaavion merkintätapa määrittää, kuinka elementit ja käsitteet, kuten luokka, assosiaatio ja moninaisuus, esitetään. Prosessi on kuvaus vaiheista, joita on noudatettava projektin kehittämisessä. Unified Modeling Language (UML) on 80-luvun lopulla ja 90-luvun alussa ilmestyneiden OOAP-menetelmien sukupolven seuraaja.

UML on yleiskäyttöinen visuaalinen mallinnuskieli, joka on suunniteltu ohjelmistokomponenttien, liiketoimintaprosessien ja muiden järjestelmien määrittelyyn, visualisointiin, suunnitteluun ja dokumentointiin. UML-kieli on sekä yksinkertainen että tehokas mallinnustyökalu, jota voidaan käyttää tehokkaasti rakentamaan käsitteellisiä, loogisia ja graafisia malleja monimutkaisia ​​järjestelmiä eri tarkoituksiin. Rakentavaa käyttöä UML kieli ymmärrykseen perustuen yleiset periaatteet monimutkaisten järjestelmien mallintamista ja erityisesti olio-suunnitteluprosessin (OOP) ominaisuuksia. Ilmaisuvälineiden valinta monimutkaisten järjestelmien mallien rakentamiseen määrää ennalta tehtävät, jotka voidaan ratkaista näillä malleilla. Samalla yksi monimutkaisten järjestelmien mallien rakentamisen perusperiaatteista on abstraktioperiaate, joka edellyttää, että malliin sisällytetään vain ne suunnitellun järjestelmän aspektit, jotka liittyvät suoraan järjestelmän toimintojen suorittamiseen tai käyttötarkoitukseen. . Tässä tapauksessa kaikki pienet yksityiskohdat jätetään pois, jotta tuloksena olevan mallin analysointi- ja tutkimusprosessia ei liian monimutkaistaisi.

UML sisältää vakiojoukon kaavioita ja merkintöjä, joita on monenlaisia. UML:n kaavio on graafinen esitys joukosta elementtejä, jotka useimmiten kuvataan yhdistettynä graafina, jossa on pisteitä (entiteettejä) ja reunoja (relaatioita). Kaaviot piirretään visualisoimaan järjestelmää eri näkökulmista. Kaavio on tietyssä mielessä yksi järjestelmän projektioista. Pääsääntöisesti kaaviot tarjoavat tiivistetyn kuvan järjestelmän muodostavista elementeistä, paitsi kaikkein triviaalimmissa tapauksissa. Sama elementti voi olla kaikissa kaavioissa tai vain muutamassa (yleisin vaihtoehto) tai ei missään (erittäin harvinainen). Teoriassa kaaviot voivat sisältää minkä tahansa yhdistelmän entiteettejä ja suhteita. Käytännössä kuitenkin käytetään suhteellisen vähän standardiyhdistelmiä, jotka vastaavat viittä yleisintä tyyppiä, jotka muodostavat ohjelmistojärjestelmän arkkitehtuurin.

UML erottaa seuraavat kaaviotyypit: – käyttötapauskaaviot – organisaation liiketoimintaprosessien mallintamiseen (järjestelmävaatimukset); – luokkakaaviot – järjestelmäluokkien staattisen rakenteen ja niiden välisten yhteyksien mallintamiseen. Nämä kaaviot näyttävät luokat, rajapinnat, objektit ja yhteistyöt sekä niiden suhteet. Oliopohjaisia ​​järjestelmiä mallinnettaessa tämän tyyppistä kaaviota käytetään useimmiten. Luokkakaaviot vastaavat järjestelmän staattista näkymää suunnittelun näkökulmasta; – järjestelmän käyttäytymiskaaviot (käyttäytymiskaaviot); vuorovaikutuskaaviot – objektien välisen viestien vaihtoprosessin mallintamiseen. – tilakaaviokaaviot – järjestelmäobjektien käyttäytymisen mallintamiseen tilasta toiseen siirtymisen aikana.

– toimintakaaviot – järjestelmän käyttäytymisen mallintamiseen erilaisissa käyttötapauksissa tai mallinnustehtävissä. – toteutuskaaviot: komponenttikaaviot – järjestelmän komponenttien (alijärjestelmien) hierarkian mallintamiseen; käyttöönottokaaviot – järjestelmän fyysisen arkkitehtuurin mallintamiseen.

Vaihe 1: 50-luvun puoliväliin.

Tärkeimmät kustannukset liittyvät koodaukseen (konekoodeilla). Autokoodit (kielet, joissa käytetään muistokomentomerkintöjä) ja niiden kääntäjät (kokoajat) tulevat näkyviin.

Ohjelmien erillisen kokoamisen ja siirtämisen mahdollisuudet toteutetaan. Lataajat ja ohjelmalinkit tulevat näkyviin.

Vaihe 2: 50-luvun puolivälistä 60-luvun puoliväliin.

Ohjelmien koko kasvaa, ja ongelmaalueiden ja konesuuntautuneiden kielten käsitteiden välille syntyy kuilu. Syntyy erilaisia ​​kieliä korkeatasoinen(algoritminen, universaali):

Fortran (1954-1957);

Algol-60 (1958-1960);

Cobol (1959-1961);

ja heidän kääntäjät (kääntäjät). Keksitään ja testataan lähes kaikki perustietotyypit, niillä suoritettavat toiminnot, ohjausrakenteet ja -tavat niiden esittämiseksi ohjelmissa sekä erilaisia ​​vaihtoehtoja aliohjelmien parametrointiin.

Vaihe 3: 60-luvun puoliväli – 70-luvun alku.

Ohjelmistojen koko kasvaa jyrkästi, ja työnteko on siirtymässä kollektiiviseen luonteeseen. Ohjelmistovaatimukset kasvavat kaupalliseen tuotantoon siirtymisen myötä.

Ohjelmistokehityskustannusten suhde on muuttumassa (vähintään 40 % käytetään virheenkorjaukseen, suunnitteluun ja dokumentointiin), koodaus on yksi suurimmista yksinkertaisia ​​tyyppejä toimii Käytetään ja luodaan "suuria" ohjelmointikieliä - PL/1, ALGOL-68, SIMULA-67, jotka yleistävät ja integroivat aiemmin löydettyjä ratkaisuja.

Kehitetyt ohjelmointijärjestelmät sisältävät optimoivia ja virheenkorjauksia kääntäjiä, makrokirjastoja, standardiohjelmien kirjastoja, erikoistuneita tekstieditoreja, analyysityökaluja ja interaktiivista syöttökielen virheenkorjausta. Kehitettyjen käyttöjärjestelmien, ensimmäisen DBMS:n, lukuisten dokumentaation automaatiojärjestelmien, ohjelmistokonfiguraation hallintajärjestelmien (seurantamuutosten ja ohjelmistoversioiden kokoonpanon) kehittely on käynnissä.

Vaihe 4 ("ohjelmistokehityksen kriisivaihe"): 70-luvun alku - 70-luvun puoliväli.

Työkalujen kehityksestä huolimatta ohjelmoijien tuottavuus ei kasva. Lisäksi työn tuottavuus laskee ohjelmistojen lisääntyvien vaatimusten ja sen monimutkaisuuden epälineaarisen lisääntymisen vuoksi. Ohjelmistokehityksen määräajat unohdetaan, sen kustannukset nousevat, laatu on arvaamatonta, perinteiset menetelmät (lisähenkilöstön ja aineellisten resurssien tarjoaminen) eivät toimi, mitä luonnehditaan "ohjelmistokriisiksi".

Strukturoidun ohjelmoinnin metodologia on saamassa tunnustusta (Dijkstra, 1968), ja ohjelmointitekniikan perusta on muodostumassa (Pascal-kieli (N. Wirth), 1971).

Vaihe 5: 1976 – meidän aikaamme. Välineiden kriisin jälkeisen kehittämisen vaihe.

1976 – Boehmin työn julkaisu, joka esittelee ohjelmiston elinkaaren käsitteen ja osoittaa, että suurimmat kustannukset eivät ole kehittämisessä, vaan ohjelmien ylläpidossa.

Ohjelmointikielet:

C (1970-luvun alku, kuvattiin ensimmäisen kerran täysin vuonna 1978);

Modula-2 (1978, kehitys - Oberon-kieli (1988));

Prolog (1972, laajalle levinnyt vuodesta 1980);

Smalltalk (1970-luku, esiteltiin vuonna 1980 nimellä Smalltalk-80);

C++ (1980-luvun alku, nimi – 1983, olemassa tavallisessa muodossaan vuodesta 1990);

Java (versio Java 1.0 – 1996, Java 2.0 – 1998, Java 5 – 2004...);

C# (1998–2001, versio 1.0 – 2000–2002, versio 2.0 – 2003–2005, versio 3.0 – 2004–2008, versio 4.0 – 2008–2010).

Integroituja ohjelmistokehitystyökaluympäristöjä kehitetään. Oliolähtöinen lähestymistapa suunnitteluun ja ohjelmointiin on saamassa tunnustusta. Ohjelmia kehitetään tukemaan ohjelmistojen luomista joka vaiheessa.

Kontrollikysymykset:

1. Mitä toimintoja ohjelmistotuotteen kehittäminen sisältää?

2. Mitkä ohjelmistokehityksen vaiheet tunnistetaan Rational Unified Process (RUP) -prosessissa?

3. Mikä varmistaa työkalujen käytön?

4. Mitä osia ohjelma sisältää? Jokaisen osan tarkoitus.

5. Ohjelman ja ohjelmiston määritelmät.

6. Mitä ominaisuuksia ohjelmistolla tulisi olla?

7. Mitä ohjelmointikieliä käytetään ohjelmia kehitettäessä?

8. Ohjelmistotyökalujen määritelmä.

9. Mihin neljään ryhmään ohjelmistot voidaan jakaa? Esimerkkejä ohjelmistoista jokaiselle ryhmälle.

10. Millä kriteereillä saman luokan ohjelmia voidaan verrata?

11. Mitkä ovat ohjelmistokehitystyökalujen kehittämisen vaiheet?

12. Kääntäjien (assemblereiden) ja linkkieditorien tarkoitus ja pääominaisuudet.

13. Tekstieditorien tarkoitus ja pääominaisuudet.

14. Debuggerien tarkoitus ja pääominaisuudet.

15. Asentajien luomiseen tarkoitettujen ohjelmien tarkoitus ja pääominaisuudet.

16. Resurssieditorien tarkoitus ja pääominaisuudet.

17. Profiloijien tarkoitus ja pääominaisuudet.

18. Versiotukiohjelmien tarkoitus ja pääominaisuudet.

19. Ohjetiedostojen (dokumentaation) luomiseen tarkoitettujen ohjelmien tarkoitus ja pääominaisuudet.

20. Dokumentaatiogeneraattoreiden tarkoitus ja pääominaisuudet.

21. Purkajien ja kääntäjien tarkoitus ja pääominaisuudet.

22. Järjestelmän toiminnan ja järjestelmässä tapahtuvien muutosten seurantaohjelmien tarkoitus ja pääominaisuudet.

23. Todentamisohjelmien ja -säiliöiden tarkoitus ja pääominaisuudet.

24. Kehitettyjen ohjelmistojen (suojainten) suojaamiseen tarkoitettujen ohjelmien tarkoitus ja pääominaisuudet.

25. SDK:n tarkoitus ja pääominaisuudet.

26. Jäsentimen tarkoitus ja pääominaisuudet.

27. Teknisten standardien tarkoitus.


AIHE: Ohjelmistokehitysmenetelmät.

Kirjallisuus: 1. Zelkowitz M., Shaw A., Gannon J. Ohjelmistokehityksen periaatteet.

2. Ghezzi C., Jazayeri M., Mandrioli D. Ohjelmistotekniikan perusteet.

3. Kamaev V. A., Kosterin V. V. Ohjelmointitekniikat.

Tarkastellaan metodologian, menetelmän ja keinojen käsitteitä.

Määritelmä 1: Menetelmä(kreikan kielestä methodos - tutkimuksen tai tiedon, teorian tai opetuksen tapa) - tekniikka tai tekniikkajärjestelmä jonkin käytännön toteuttamiseksi millä tahansa ainealueella, joukko tekniikoita tai operaatioita todellisuuden käytännön tai teoreettiseen kehittämiseen, alisteinen tiettyjen ongelmien ratkaisulle.

Menetelmä sisältää tilat- miten toimenpide suoritetaan ja tavoilla- miten toimenpide suoritetaan.

Määritelmä 2: Metodologia on periaatejärjestelmä sekä joukko ideoita, käsitteitä, menetelmiä, menetelmiä ja keinoja, jotka määrittävät ohjelmistokehityksen tyylin.

Metodologia on standardin toteutus. Standardit itsessään puhuvat vain siitä, mitä pitäisi olla, jättäen valinnan ja sopeutumisvapauden.

Tietyt asiat toteutetaan valitulla menetelmällä. Hän päättää, kuinka kehitystyötä tehdään. On monia onnistuneita ohjelmistokehitysmenetelmiä. Tietyn menetelmän valinta riippuu tiimin koosta, projektin erityispiirteistä ja monimutkaisuudesta, yrityksen prosessien vakaudesta ja kypsyydestä sekä työntekijöiden henkilökohtaisista ominaisuuksista.

Metodologiat edustavat ohjelmistokehityksen johtamisteorian ydintä.

Käytetyn elinkaarimallin mukaan menetelmät jaetaan:

Vesiputous (kaskadi);

Iteratiivinen (spiraali).

On myös yleisempi luokitus:

Ennustettavissa;

Mukautuva.

Ennustetut menetelmät keskittyä tulevaisuuden yksityiskohtaiseen suunnitteluun. Suunnitellut tehtävät ja resurssit koko projektin ajaksi ovat tiedossa. Joukkueella on vaikeuksia reagoida mahdollisiin muutoksiin. Suunnitelma optimoidaan työn laajuuden ja olemassa olevien vaatimusten perusteella. Muuttuvat vaatimukset voivat aiheuttaa merkittäviä muutoksia suunnitelmaan ja projektin suunnitteluun. Usein perustetaan oma "muutoshallintakomitea" varmistamaan, että vain tärkeimmät vaatimukset otetaan huomioon hankkeessa.

Mukautuvat menetelmät pyritään voittamaan vaatimusten odotettu epätäydellisyys ja niiden jatkuva muutos. Kun vaatimukset muuttuvat, myös kehitystiimi vaihtuu. Adaptiiviseen kehitykseen osallistuvalla tiimillä on vaikeuksia ennustaa projektin tulevaisuutta. Tarkkaa suunnitelmaa on vain lähitulevaisuudelle. Kauempana olevat suunnitelmat ovat olemassa vain julistuksina projektin tavoitteista, odotettavissa olevista kustannuksista ja tuloksista.

Kaskadi kehitys tai vesiputousmalli - ohjelmistokehitysprosessin malli, jossa kehitysprosessi näyttää virtaukselta, joka kulkee peräkkäin vaatimusten analysoinnin, suunnittelun, toteutuksen, testauksen, integroinnin ja tuen vaiheet läpi.

Kaskadilähestymistavan perusominaisuus on: siirtyminen seuraavaan vaiheeseen suoritetaan vasta sen jälkeen, kun nykyisen vaiheen työ on suoritettu kokonaan, eikä paluuta suoritettuihin vaiheisiin tarjota . Jokainen vaihe päättyy tuloksiin, jotka toimivat syötteenä seuraavalle vaiheelle (kuva 1).

Riisi. 1. Kaskadi-elinkaarimalli.

Jokainen vaihe päättyy sellaisen dokumentaation julkaisemiseen, joka on riittävä, jotta toinen kehitystiimi voi jatkaa kehitystyötä. Kehityksen laadun kriteeri tällä lähestymistavalla on teknisten eritelmien täyttymisen tarkkuus.

Kaskadimenetelmän käytön edut:

Jokaisessa vaiheessa luodaan täydellinen suunnitteludokumentaatiosarja, joka täyttää täydellisyyden ja johdonmukaisuuden vaatimukset;

Loogisessa järjestyksessä suoritetut työvaiheet mahdollistavat kaikkien töiden valmistumisajan ja sitä vastaavien kustannusten suunnittelun.

Kaskadilähestymistapa on osoittautunut hyvin elektroniikan rakentamisessa tietojärjestelmä, jolle jo kehityksen alussa kaikki vaatimukset voidaan muotoilla varsin tarkasti ja täydellisesti, jotta kehittäjät saavat vapauden toteuttaa ne teknisesti mahdollisimman hyvin.

Samaan aikaan tällä lähestymistavalla on useita haittoja, jotka johtuvat ensisijaisesti siitä, että varsinainen ohjelmiston luontiprosessi ei koskaan sovi täydellisesti niin jäykään järjestelmään. Ohjelmiston luontiprosessi on pääsääntöisesti luonteeltaan iteratiivinen: seuraavan vaiheen tulokset aiheuttavat usein muutoksia aikaisemmissa vaiheissa kehitettyihin suunnitteluratkaisuihin. Näin ollen on jatkuva tarve palata edellisiin vaiheisiin ja selventää tai tarkistaa aiemmin tehtyjä päätöksiä (kuva 2). Kuvattu kaavio voidaan katsoa erilliseksi malliksi - malliksi väliohjauksella, jossa vaiheiden väliset säädöt tarjoavat paremman luotettavuuden verrattuna kaskadimalliin, vaikka ne pidentävät koko kehitysjaksoa.

Kaskadimallin suurin haittapuoli on merkittävä viive tulosten saamisessa ja sen seurauksena suuri riski luoda järjestelmä, joka ei vastaa käyttäjien muuttuviin tarpeisiin. Tämä johtuu kahdesta syystä:

Käyttäjät eivät voi kertoa kaikkia vaatimuksiaan kerralla eivätkä voi ennakoida, kuinka ne muuttuvat kehityksen aikana;

Kehityksen aikana ulkoisessa ympäristössä voi tapahtua muutoksia, jotka vaikuttavat järjestelmän vaatimuksiin.

Riisi. 2. Kaskadi-elinkaarimalli käytännössä.

Osana kaskadilähestymistapaa kehitettävälle tuotteelle asetetaan vaatimukset teknisten eritelmien muodossa koko sen luomisajan ajaksi ja saavutetuista tuloksista sovitaan käyttäjien kanssa vasta kunkin vaiheen päätyttyä suunnitelluissa kohdissa ( tuloksia on mahdollista muokata käyttäjien kommenttien perusteella, jos ne eivät vaikuta kohdassa esitettyihin vaatimuksiin toimeksianto). Näin ollen käyttäjät voivat tehdä merkittäviä kommentteja vasta, kun järjestelmä on valmis. Käyttäjät voivat saada järjestelmän, joka ei täytä heidän tarpeitaan. Tämän seurauksena meidän on aloitettava uusi projekti, joka saattaa kokea saman kohtalon.

Näiden ongelmien ratkaisemiseksi ehdotettiin spiraalimaista elinkaarimallia 80-luvun puolivälissä (kuva 3).

Riisi. 3. Spiraali (iteratiivinen) elinkaarimalli.

Sen perusominaisuus on seuraava: sovellusohjelmistoa ei luoda heti, kuten vesiputouslähestymistavan tapauksessa, vaan osissa prototyyppimenetelmällä .

Alla prototyyppi Käsitellään toimiva ohjelmistokomponentti, joka toteuttaa kehitettävän ohjelmiston yksittäisiä toimintoja ja ulkoisia rajapintoja. Prototypiointi suoritetaan useissa iteraatioissa tai spiraalikierroksissa. Jokainen iteraatio vastaa ohjelmiston fragmentin tai version luomista, jossa selvitetään projektin tavoitteet ja ominaisuudet, arvioidaan saatujen tulosten laatu ja suunnitellaan seuraavan iteroinnin työ. Jokaisessa iteraatiossa tehdään perusteellinen arvio projektin aikatauluriskeistä ja kustannuksista sen määrittämiseksi, tarvitaanko toinen iteraatio, ymmärretäänkö järjestelmävaatimukset täysin ja tarkasti ja pitäisikö projekti lopettaa.

Spiraalimalli vapauttaa käyttäjät ja kehittäjät tarpeesta muotoilla järjestelmävaatimukset tarkasti ja täydellisesti alkuvaiheessa, koska niitä jalostetaan jokaisessa iteraatiossa. Näin projektin yksityiskohtia syvennetään ja täsmennetään johdonmukaisesti, ja tuloksena valitaan järkevä vaihtoehto, joka viedään toteutukseen.

Spiraalimalli on klassinen esimerkki evolutionaarisen suunnittelustrategian soveltamisesta. Spiraalimalli (Barry Boehm, 1988) perustuu klassisen elinkaaren ja prototyyppien parhaisiin ominaisuuksiin, joihin on lisätty uusi elementti - riskianalyysi, joka aiemmin puuttui.

Kierremalli määrittelee neljä toimenpidettä, joita edustavat spiraalin yksittäiset sektorit:

1. Suunnittelu - tavoitteiden, vaihtoehtojen ja rajoitusten määritteleminen.

2. Riskianalyysi - vaihtoehtojen analyysi ja riskien tunnistaminen/valinta.

3. Suunnittelu - seuraavan tason tuotteen kehittäminen.

4. Arviointi - asiakkaan arvio tämänhetkisistä suunnittelutuloksista.

Spiraalimallin integroiva puoli on ilmeinen, kun otetaan huomioon spiraalin radiaalinen ulottuvuus. Jokaisella iteraatiolla spiraalissa (siirretään keskustasta reuna-alueelle) enemmän ja enemmän täysversiot BY.

Kierteen ensimmäisessä käännöksessä määritetään alkuperäiset tavoitteet, vaihtoehdot ja rajoitukset, tunnistetaan ja analysoidaan riskit. Jos riskianalyysi osoittaa epävarmuutta vaatimuksissa, prototyypitys (käytetään suunnittelukvadrantissa) tulee kehittäjän ja asiakkaan avuksi. Simulaatiolla voidaan tunnistaa edelleen ongelmallisia ja hienostuneita vaatimuksia. Asiakas arvioi suunnittelutyön ja tekee muutosehdotukset. Seuraava suunnittelu- ja riskianalyysivaihe perustuu asiakkaan ehdotuksiin. Jokaisessa spiraalisyklissä riskianalyysin tulokset muodostuvat muodossa "jatka, älä jatka". Jos riski on liian suuri, projekti voidaan keskeyttää.

Useimmissa tapauksissa kierre jatkuu, ja jokainen askel siirtää kehittäjät kohti yleisempää järjestelmän mallia.

Iteratiivisella menetelmällä työstä puuttuva osa voidaan tehdä seuraavassa iteraatiossa. Päätehtävänä on näyttää järjestelmän käyttäjille toimiva tuote mahdollisimman nopeasti, mikä käynnistää vaatimusten selventämis- ja täydennysprosessin.

Spiraalimalli ei sulje pois kaskadilähestymistapaa projektin loppuvaiheessa tapauksissa, joissa järjestelmän vaatimukset on täysin määritelty.

Spiraalisyklin pääongelma on siirtymähetken määrittäminen seuraavaan vaiheeseen. Sen ratkaisemiseksi on tarpeen ottaa käyttöön aikarajoituksia jokaiselle elinkaarivaiheelle. Siirtymä etenee suunnitellusti, vaikka kaikkia suunniteltuja töitä ei olisikaan tehty. Suunnitelma laaditaan aiemmista hankkeista saatujen tilastotietojen perusteella henkilökohtainen kokemus kehittäjät.

Spiraalimallin edut:

Kaikkein realistisimmin (evoluution muodossa) se heijastaa ohjelmistokehitystä;

Mahdollistaa riskin huomioimisen kaikissa kehitysevoluutiovaiheissa;

Sisältää systemaattisen lähestymistavan iteratiivisessa kehitysrakenteessa;

Käyttää simulaatiota riskien vähentämiseen ja ohjelmistotuotteen parantamiseen.

Spiraalimallin haitat:

uutuus (mallin tehokkuudesta ei ole riittävästi tilastoja);

Lisääntyneet vaatimukset asiakkaalle;

Vaikeuksia kehitysajan seurannassa ja hallinnassa.

Nykyään voidaan erottaa seuraavat iteratiiviset ohjelmistokehitysmenetelmät:

Rational Unified Process (RUP)

Ketterät kehitysmenetelmät (SCRUM, KANBAN, DSDM, MSF, ALM, XP)

Ketterä kehitysmetodologia(englanniksi: ketterä ohjelmistokehitys).

Useimmat ketterät menetelmät pyrkivät minimoimaan riskit vähentämällä kehityksen sarjaksi lyhyitä syklejä, joita kutsutaan iteraatioita, jotka kestävät yleensä yhdestä kahteen viikkoa. Jokainen iteraatio itsessään näyttää pienoisohjelmistoprojektilta ja sisältää kaikki tehtävät, jotka ovat tarpeen mini-lisäyksen toimittamiseen: suunnittelu, vaatimusanalyysi, suunnittelu, koodaus, testaus ja dokumentointi. Vaikka yksi iteraatio ei yleensä riitä julkaisemaan uutta versiota tuotteesta, oletetaan, että ketterä ohjelmistoprojekti on valmis julkaistavaksi jokaisen iteraation lopussa. Jokaisen iteraation lopussa tiimi arvioi kehitysprioriteetit uudelleen.

Ketterät menetelmät korostavat suoraa, kasvokkain tapahtuvaa viestintää. Useimmat ketterät tiimit sijaitsevat samassa toimistossa. Se sisältää vähintään "asiakkaita" (asiakkaita, jotka määrittelevät tuotteen; nämä voivat olla myös tuotepäälliköitä, yritysanalyytikoita tai asiakkaita). Toimistossa voi olla myös testaajia, käyttöliittymäsuunnittelijoita, teknisiä kirjoittajia ja johtajia.

Yksi tunnetuimmista ja edistyneimmistä ketteristä menetelmistä on SCRUM-metodologia.

SCRUM- pienille ryhmille (enintään 10 henkilöä) suunniteltu menetelmä. Koko projekti on jaettu iteraatioihin (sprinteihin), jotka kestävät kukin 30 päivää. Valitaan luettelo järjestelmän ominaisuuksista, jotka on tarkoitus ottaa käyttöön seuraavan sprintin aikana. Tärkeimpiä ehtoja ovat valittujen toimintojen pysyvyys yhden iteroinnin aikana ja seuraavan julkaisun määräaikojen tiukka noudattaminen, vaikka kaikkia suunniteltuja toimintoja ei olisikaan mahdollista toteuttaa sen julkaisulla. Kehityspäällikkö pitää päivittäin 20 minuutin kokouksia, joita kutsutaan scrumiksi ja joiden tuloksena selvitetään järjestelmän toiminnot, edellisenä päivänä toteutetut, kohdatut vaikeudet ja seuraavan päivän suunnitelma. Tällaisten tapaamisten avulla voit jatkuvasti seurata projektin edistymistä, tunnistaa nopeasti ongelmat ja reagoida niihin nopeasti.

KANBAN– joustava, tehtävälähtöinen ohjelmistokehitysmetodologia.

Perussäännöt:

Kehityksen visualisointi:

o työn jakaminen tehtäviin;

o arvosanojen käyttö tehtävän asemasta kehittämisessä;

Samanaikaisesti tehtävän työn rajoittaminen kussakin kehitysvaiheessa;

Jaksoajan mittaus (keskimääräinen aika yhden tehtävän suorittamiseen) ja prosessin optimointi.

KANBANin edut:

Rinnakkaisten tehtävien määrän vähentäminen vähentää merkittävästi kunkin yksittäisen tehtävän suoritusaikaa;

Ongelmallisten tehtävien nopea tunnistaminen;

Keskimääräisen tehtävän suorittamiseen kuluvan ajan laskeminen.

DYNAAMISEN JÄRJESTELMÄN KEHITTÄMISMENETELMÄ(DSDM) syntyi 17 englantilaisen yrityksen konsortion työn tuloksena. Kokonainen organisaatio kehittää tämän metodologian käsikirjoja, organisoi koulutuskursseja, akkreditointiohjelmat jne. Lisäksi DSDM:llä on rahallinen arvo.

Kaikki alkaa ohjelman toteutettavuuden ja sen laajuuden tutkimisesta. Ensimmäisessä tapauksessa yrität ymmärtää, sopiiko DSDM tiettyyn projektiin. Ohjelman soveltamisalaa odotetaan selvitettävän lyhyen seminaarisarjan kautta, jossa ohjelmoijat oppivat toimialasta, jolla he työskentelevät. Tässä käsitellään myös tulevan järjestelmän arkkitehtuuria ja hankesuunnitelmaa koskevat keskeiset säännökset.

Prosessi jaetaan sitten kolmeen toisiinsa yhdistettyyn sykliin: sykli toimiva malli vastaa analyyttisen dokumentaation ja prototyyppien luomisesta, suunnittelu- ja rakentamissykli vastaa järjestelmän saamisesta käyttökuntoon ja lopuksi viimeinen sykli - toteutussykli - varmistaa ohjelmistojärjestelmän käyttöönoton.

Perusperiaatteet, joille DSDM on rakennettu:

Aktiivinen vuorovaikutus käyttäjien kanssa;

Usein julkaistava versio;

Kehittäjän riippumattomuus päätöksenteossa;

Testaus koko työjakson ajan.

Kuten useimmat muut ketterät menetelmät, DSDM käyttää lyhyitä iteraatioita, jotka kestävät kumpikin kahdesta kuuteen viikkoa. Erityisesti painotetaan korkealaatuinen työtä ja sopeutumiskykyä vaatimusten muutoksiin.

MICROSOFT SOLUTIONS FRAMEWORK(MSF) on Microsoft Corporationin ehdottama ohjelmistokehitysmenetelmä. MSF hyödyntää Microsoftin käytännön kokemusta ja kuvaa ihmisten ja työprosessien johtamista ratkaisukehitysprosessin aikana.

MSF-prosessimallin peruskäsitteet ja periaatteet:

Yhtenäinen visio hankkeesta - kaikkien kiinnostuneiden osapuolten ja yksinkertaisesti hankkeen osallistujien on kuviteltava selkeästi lopputulos, kaikkien on ymmärrettävä projektin tavoite;

Kompromissien hallinta - kompromissien löytäminen projektiresurssien, aikataulun ja toteutettavuuden välillä;

Joustavuus – valmius muuttuviin suunnitteluolosuhteisiin;

Keskittyminen liiketoiminnan prioriteetteihin - keskittyminen vaikutuksiin ja hyötyihin, joita ratkaisun kuluttaja odottaa saavansa;

Vapaan viestinnän edistäminen projektin sisällä;

Perusversion luominen - minkä tahansa projektin artefaktin tilan tallentaminen, mukaan lukien ohjelmakoodi, projektisuunnitelma, käyttöopas, palvelimen asetukset ja myöhempi tehokas muutosten hallinta, projektianalyysi.

MSF tarjoaa todistettuja menetelmiä onnistuneiden IT-ratkaisujen suunnitteluun, suunnitteluun, kehittämiseen ja toteuttamiseen. Joustavuuden, skaalautuvuuden ja tiukkojen säännösten puutteen ansiosta MSF pystyy vastaamaan organisaation tai organisaation tarpeisiin. projektiryhmä mikä tahansa koko. MSF-metodologia koostuu useimmille projekteille tyypillisistä periaatteista, malleista ja oppiaineista ihmisten, prosessien, teknisten elementtien ja niihin liittyvien asioiden hallintaan.

Sovelluksen elinkaaren hallinta(ALM) - Borlandin kehittämä ja tukema.

Extreme ohjelmointi(XP) - Extreme Programming, jota tukee avoin riippumattomien kehittäjien yhteisö.

Essee

OHJELMISTO - joukko tietojenkäsittelyjärjestelmäohjelmia ja näiden ohjelmien toimintaan tarvittavia ohjelmadokumentteja (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. Yleensä tätä termiä käytetään korostamaan eroa tästä luokasta Ohjelmistot sovellus- ja järjestelmäohjelmistoista.

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 - ohjelmointikielen hieman yksinkertaistettu toteutus Visual Basic, joka on sisäänrakennettu Microsoft Office -tuotesarjaan (mukaan lukien Mac OS:n versiot), sekä moniin muihin ohjelmistopaketteihin, 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 sivilisaation etuja maistanut ei voi kuvitella elämäänsä ilman tietotekniikan käyttöä. 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ä tietokonetekniikan alue on kuitenkin mielestämme tärkein, koska 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 ohjelmiin, jotka ajetaan tietokoneissa, joilla on joukko erityisiä toiminnallisuutta ja ne on suunniteltu suorittamaan erityisiä, 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 laitteiston sähkömagneettisia pulsseja loogisesti merkityksellisiksi ohjelmakoodi, jolla on tietty rakenne ja ominaisuudet.

3. Tiedot ja komento. He tarkistavat ohjelmakoodin yhteensopivuuden järjestelmän periaatteiden kanssa ja luovat tiedoille loogisen rakenteen ja suorittavat sen suorittamisen.

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 ohjelmiston luomisen perusmotiivi erilaisia ​​tyyppejä 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) instrumentaali ohjelmistojärjestelmät, mikä helpottaa 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; ohjelmistotyökalut; 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 viestintäkieltä (yleensä komentokieli muunnetaan valikkokieleksi). Palvelujärjestelmät voidaan jakaa rajapintajärjestelmiin, käyttöjärjestelmän kuoriin ja apuohjelmiin.

Liitäntäjärjestelmät ovat useimmiten tehokkaita palvelujärjestelmiä graafinen tyyppi, parantaa paitsi käyttäjää, 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ä). Joissakin algoritmisissa kielissä käytetään tulkkeja, jotka eivät luo objektimoduulia, vaan kääntävät jokaisen ohjelman jokaisen suorituksen yhteydessä. erillinen rivi tai konekielinen operaattori. 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.

Ylläpito- ja huoltojärjestelmät ovat ohjelmistotyökaluja tietokoneen, levyjen jne. toiminnan 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) yleiskäyttöinen - keskittyy useiden käyttäjän tehtävien automatisointiin ( tekstinkäsittelijät, taulukkoeditorit, tietokannan hallintajärjestelmät, GPU:t, 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ääntäjät, jotka auttavat ohjelmoijia kirjoittamaan koneen komentoja. 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 ohjelman luominen valitulla ohjelmointikielellä (kieli järjestelmän ohjelmointi) sinulla on oltava seuraavat osat:

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 ohjelmistotyökalujen ydin on luoda mikä tahansa suoritettava ohjelma, muuntamalla muodollisesti loogiset lausekkeet suoritettavaksi konekoodiksi sekä sen ohjauksella ja säädöllä.

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 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 ​​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, tälle tekstieditorille ominaisella murteella. Esimerkki tällaisesta tekstieditorista on Sed-editori.

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. 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 luominen luetteloita

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-ympäristön erikoistapaus visuaalinen kehitys, jotka sisältävät 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äännös 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) Vektorointi. 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. Komponentit tällaisia ​​kääntäjiä 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ähdekoodin ei tarvitse olla tekstimuodossa tai tavukoodia, jonka vain tämä tulkki ymmärtää, vaan 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 ohjelmistosta, myös laitteistosta. Siten monet mikroprosessorit tulkitsevat konekoodia käyttämällä sisäänrakennettua laiteohjelmistoa ja x86-perheen prosessoreita, alkaen Pentiumista (esim. Intelin arkkitehtuuri P6), konekoodin suorittamisen aikana ne 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 koot koodi 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.

Linkkeri.

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 Basicia pidetään hyvänä työkaluna nopeaan ohjelmaprototyyppien kehittämiseen, tietokantasovellusten kehittämiseen ja yleensäkin komponenttipohjaiseen menetelmään Microsoft Windows -perheen käyttöjärjestelmissä toimivien ohjelmien luomiseen.

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. Se saavutti suurimman suosion, koska sitä käytettiin Microsoft Office -ohjelmistopaketissa. 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 ensisijaisesti Windows-järjestelmien hallinnan automatisointiin sekä ASP-sivujen ja komentosarjojen luomiseen Internet Explorerille.

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

Luomalla VisualBasicforApplicationin Microsoft Corporation asetti päätavoitteekseen sellaisten työkalujen luomisen, jotka ovat sellaisten käyttäjien saatavilla, 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 joukosta erilaisia ​​suunnittelussa käytettyjä ikkunoita ja välilehtiä luotava sovellus, joista tärkeimmät ovat:

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

2) Ohjelmakoodi-ikkuna (kuva 3), joka näyttää luodun projektin ohjelmakoodin ja mahdollistaa ohjelman kirjoittamisen perinteisellä tavalla sisäänrakennetulla koodisanaeditorilla, jota on yli 16 tuhatta VBA. 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. Operaattoreiden käyttö on mahdollista Silmukoille Seuraavaksi Do, "ajastin"-tyyppiset objektit (ohjelmassa näkymätön sekuntikello). 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. Suuri nopeus sovellusten luominen graafinen käyttöliittymä 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", mutta antaa enemmän vapautta ohjelmoijalle.

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.

Näin kokenut tietokoneen käyttäjä, mutta ei ammattiohjelmoija, voi luoda tiettyjä Microsoft Office -ympäristössä suoritettavia sovelluksia ja pieniä tiedostoja, joita käytetään ensisijaisesti kirjanpitoon 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. Algoritmiset kielet reaaliaikainen / toim. 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\