Nástroje na vývoj softvéru. Vývojárske nástroje – nevyhnutné a jednoducho užitočné

Vývoj softvéru sa vykonáva pomocou rôznych nástrojov, ktoré poskytujú:

    pôvodné programovanie;

    používanie aplikačných softvérových balíkov – štandardných programov, ktoré implementujú funkcie spracovania údajov;

    automatizácia hlavných fáz vývoja programu.

Najtradičnejšími vývojovými nástrojmi sú programovacie jazyky a systémy. Programovacie jazyky sa zvyčajne delia na strojové a algoritmické.

Stroj jazyky obsahujú strojové inštrukcie zodpovedajúce najjednoduchším spracovateľským operáciám. Strojové inštrukcie sú viazané na konkrétnu triedu počítača a/alebo operačného systému.

Algoritmické Programovacie jazyky popisujú algoritmus problému, poskytujú prehľadnosť algoritmu a jednoduchú údržbu programu. Algoritmické jazyky sa delia na strojovo orientované, procedurálne a problémovo orientované jazyky.

Stroj-orientovaný Programovacie jazyky sú jazyky nízkej úrovne, pretože zohľadňujú architektúru a typ počítačov. Programovanie v takýchto jazykoch je náročné na prácu, ale programy sú optimálne z hľadiska požadovaných počítačových zdrojov. Príkladmi strojovo orientovaných programovacích jazykov sú rôzne assemblery 1 (Macro Assembler, Turbo Assembler atď.) určitej triedy počítačov.

Procedurálny-orientovaný Programovacie jazyky ako Visual Basic, Pascal, C++, Ada, Cobol, PL1 atď. vám umožňujú popísať súbor procesov spracovania a implementovať štandardné výpočtové štruktúry:

1. Postupnosti blokov (inštrukcií): 1, 2, 3, 4 atď.

Všetky bloky (inštrukcie) sa vykonávajú v prísnom poradí (obr. 5 A)

2. Podmienený prechod (obr. 5 B) - kontrola danej podmienky (2) a výber alternatívnej akcie: ak je podmienka pravdivá - 3, inak - 4. Potom sa riadenie prenesie do bloku 5.

3. Alternatívny výber (obr. 5 B) – kontrola podmienky (2), ak je podmienka pravdivá – vykonajte akciu 3, inak skontrolujte podmienku (4); ak je podmienka pravdivá, vykonajte akciu 5 atď. Ak nie sú splnené žiadne podmienky alebo sa vykonajú akcie (3 alebo 5 atď.), riadenie sa prenesie do bloku 6.

A B C

Obrázok 5

4. Cyklický proces – cyklus „ešte“ (obr. 6A). Cyklus sa opakuje, kým nie je splnená podmienka (2) - blok 3. Ak je podmienka (2) nepravdivá, riadenie sa prenesie do bloku 4.

5. Cyklický proces – cyklus „pred“ (obr. 6B). Cyklus sa vykoná aspoň raz - blok 2. Po skontrolovaní podmienky (3), ak je pravdivá, sa vykoná blok (2), inak sa riadenie prenesie do bloku 4.

Obrázok 6

Programovacie jazyky objekt typu sa prvky štruktúrovaného programovania využívajú aj v programovom kóde triedy objektov alebo procedúrach spracovania udalostí.

Problematické-orientovaný programovacie jazyky ​​- relačné dotazovacie jazyky na vysokej úrovni, generátory zostáv atď. umožňujú identifikovať problém, vstupné a výstupné informácie bez špecifikovania konkrétnych postupov spracovania.

Balíky aplikačných programov (APP) sú rozdelené do tried:

    Problémovo orientované PPP – poskytujú riešenia problémov špecifickej oblasti;

    Metodicky orientované PPP – podporujú určitý typ modelu a metódy riešenia problémov, využívajú sa bez ohľadu na predmet;

    Univerzálny softvér – poskytuje podporu pre informačné technológie (textové práce, grafické práce, štandardné výpočty a pod.).

Všeobecná charakteristika nástrojov na vývoj softvéru

    Všeobecná charakteristika nástrojov na vývoj softvéru

    Technológia programovania inštrumentálnych systémov

    CASE nástroje. Charakteristika moderných nástrojov CASE

Prehľad objektovo orientovaných nástrojov

Objektovo orientované programovanie vzniklo pred objektovou analýzou a návrhom, takže dnes existuje pomerne veľké množstvo jazykov, ktoré túto technológiu podporujú. Prvý z nich sa podľa dátumu vzniku považuje za jazyk Spoločenská konverzácia, hoci v jazyku bolo použitých veľa prvkov objektovo orientovaného prístupu Simula v roku 1967 Najsilnejším nástrojom na vytváranie objektovo orientovaných programov je dnes jazyk C++, vytvorený na základe štruktúrovaného programovacieho jazyka C. Jazyk sa úspešne rozvíja Java, ktorý bol pôvodne navrhnutý ako objektovo orientovaný.

Vývoj veľkých softvérových systémov v moderných podmienkach nie je možný bez použitia nástrojov na vývoj automatizačného softvéru (CASE tools). Nie je veľa prípadov, ktoré podporujú objektovo orientovaný prístup. Najznámejším nástrojom v tomto smere je systém Racionálna ruža , ktorý okrem iného podporuje fázy objektovo orientovanej analýzy a návrhu.

Objektovo orientovaný CASE nástroj Rational Rose

Vývojár Racionálna ruža- Rational Software Corp., známy svojim vývojom v oblasti objektovo orientovaných technológií, z ktorých hlavným je jazyk UML. Tento CASE systém je orientovaný práve na podporu UML ako hlavného jazyka pre návrh softvéru.

Ako každý moderný nástroj CASE, aj tento systém podporuje všetky fázy životného cyklu softvéru a poskytuje používateľovi širokú škálu funkcií na analýzu, navrhovanie, vytváranie a údržbu softvéru. V tomto prípade sa využívajú objektovo orientované technológie a vo veľkej miere sa využívajú grafické modely.

Racionálna ruža pozostáva z týchto hlavných komponentov: úložisko, grafické používateľské rozhranie, nástroje na kontrolu projektu (prehliadač), nástroje na riadenie projektu, nástroje na zber štatistík a generátor dokumentov, ako aj rozšírenia na podporu rôznych programovacích jazykov.

Medzi hlavné funkcie patrí:

    Výkonný modelovací jazyk grafickej domény, ktorý má vysokú úroveň formalizácie a podporuje objektovo orientovanú metodológiu.

    Pohodlná navigácia medzi prvkami modelu pomocou „inšpektora projektu“.

    Ukladanie výsledkov dizajnu vo forme jedného modelu.

    Podpora práce vývojového tímu na projekte.

    Výkonný systém na prípravu správ a projektovej dokumentácie.

    Možnosť syntézy programov takmer vo všetkých moderných objektovo orientovaných jazykoch, vrátane multiplatformového jazyka Java.

    Podpora komponentových technológií pre budovanie softvérových systémov.

    Široké možnosti pre návrh softvéru rôznych architektúr, od jednoduchých programov až po veľké „klient-server“ systémy a internetové aplikácie.

    Možnosť reengineeringu modelu na základe zdrojového kódu programu. To zaisťuje zachovanie integrity informácií o návrhu a implementácie.

    Konfigurácia a rozšírenie funkcionality prostredia CASE inštaláciou rozširujúcich modulov predovšetkým na podporu rôznych programovacích jazykov.

Princípy vývoja softvérových systémov v Rational Rose

Konštrukcia objektovo orientovaných systémov má svoje špecifiká. Je zrejmé, že pre maximálnu účinnosť by sa mala vo všetkých fázach životného cyklu používať jedna technológia. Túto možnosť poskytuje univerzálny modelovací jazyk UML. Racionálna ruža podporuje všetky fázy návrhu systému, ktoré sú definované v špecifikácii UML.

Hlavnou metódou návrhu je vytváranie rôznych druhov diagramov a špecifikácií, ktoré definujú logickú a fyzickú štruktúru modelu systému, jeho statické a dynamické aspekty. Patria sem diagramy tried, stavov, skriptov, modulov a procesov.

Vo všetkých fázach je možné použiť špecializované grafické editory pre prvky modelu a pomocou inšpektora modelu sa pohybovať medzi jeho komponentmi. Všetky informácie o dizajne sú uložené v jedinom súbore modelu (*.mdl).

Práca začína konštrukciou Use Case Diagramu, ktorý charakterizuje hlavné úlohy a prostredie navrhovaného systému. Ďalej sa pre každý prípad použitia uvedený v diagrame použitia vyvinú sekvenčné diagramy, ktoré identifikujú objekty v systéme a popisujú postupnosť udalostí, ktoré sa vyskytujú v procese komunikácie medzi objektmi. Racionálna ruža umožňuje automaticky spájať sekvenčné diagramy s blokmi použitia.

Objekty prítomné v sekvenčných diagramoch sú v systéme definované pomocou tried. Triedy a ich vzťahy sú definované pomocou diagramov tried, ktorých vývoj je tiež podporovaný Racionálna ruža. Triedy sú zoskupené do balíkov. Racionálne Rose umožňuje definovať množinu balíkov, vzťahy medzi nimi a reprezentovať ich základné triedy vo vnorených diagramoch tried.

Zloženie zostavených a spustených modulov systému je špecifikované v Racionálna ruža pomocou diagramu komponentov. Diagram identifikuje závislosti medzi komponentmi. Komponenty môžu mať rozhrania, cez ktoré sa implementujú závislosti. Diagramy nasadenia v Racionálna ruža odráža konfiguráciu vykonávaného softvérového systému a pozostáva z uzlov a interakcií medzi uzlami. Uzly zahŕňajú komponenty znázornené v diagrame komponentov systému.

Pre plne definovaný model je možné generovať zdrojové texty programov v rôznych podporovaných objektovo orientovaných programovacích jazykoch Racionálna ruža, ako je Java alebo C++.

Výsledné texty programu je možné upravovať vonku Racionálna ruža, a aby sa zohľadnili vykonané zmeny, systém umožňuje spätnú analýzu textov do modelu.

Návrh softvéru

Modelovanie domén . Tvorba projektu začína vytvorením princípov používania systému. Vnútri Racionálna ruža Táto fáza sa nazýva „Zobrazenie prípadov použitia“. Implementácia tejto fázy vám umožňuje identifikovať externých používateľov, bloky používania, systémové objekty a spojenia medzi nimi.

Vypracuje sa diagram použitia, ktorý odráža vonkajšie fungovanie vytváraného systému. Tento model je v mnohom podobný diagramu toku údajov v štruktúrnej analýze. Jeho hlavnými komponentmi sú externí používatelia (aktéri), ​​bloky použitia (prípady použitia) a prepojenia medzi komponentmi. Ak chcete vytvoriť graf v Racionálna ruža používa sa špecializovaný grafický editor.

Všetky prvky diagramu použitia sú identifikované systémom ako nezávislé komponenty modelu v rámci tejto etapy a podliehajú ďalšej špecifikácii. V prvom rade ide o užívateľské bloky, ktoré odrážajú skupiny funkcií systému prezentované ako jeden celok externému užívateľovi.

Pre každý blok použitia je vytvorený sekvenčný diagram, ktorý zobrazuje interakciu objektov vykonávajúcich úlohu v čase. Takéto diagramy identifikujú systémové objekty a definujú správy, prostredníctvom ktorých tieto objekty interagujú. Diagramy sa vytvárajú v špecializovanom editore.

Každý objekt v sekvenčnom diagrame je sprevádzaný názvom triedy, do ktorej patrí. Špecifický objekt je inštanciou nejakej triedy. Triedy tvoria logickú štruktúru systému.

Vývoj logickej štruktúry. Po dokončení formovania princípov používania systému začína fáza rozvoja jeho logickej štruktúry. IN Racionálna ruža volá sa to "Logický pohľad". Výsledkom tejto fázy by mala byť hlavná schéma a podrobné schémy pre jej prvky.

V tejto fáze by ste mali určiť triedy, ktoré sú v systéme potrebné. Inštancie týchto tried sú už špecifikované v sekvenčných diagramoch. Triedy a ich prepojenia sú v modeli premietnuté vo forme diagramu tried. Skupiny tried v týchto diagramoch môžu byť zoskupené do balíkov.

Návrh logickej štruktúry by mal začať definovaním základných balíkov. Balík je univerzálny nástroj na zoskupovanie prvkov modelu. Použitie balíkov umožňuje zviditeľniť model. Balíky môžu byť vnorené do seba. Triedy, ktoré tvoria každý balík, sú podrobne opísané v priloženom diagrame.

Vstavaný Racionálna ruža Editor diagramu tried poskytuje pohodlné nástroje pre takéto operácie a inšpektor modelu uľahčuje navigáciu v hierarchii diagramov.

Pre každú triedu je špecifikovaná špecifikácia, ktorá popisuje zloženie atribútov a metód, pripojenia, šablónu, na ktorej je trieda vytvorená, a implementačné funkcie.

Prítomnosť šablón uľahčuje vytváranie tried rôznych štruktúr.

Triedy je možné importovať do systému zvonku. Racionálna ruža podporuje komponentovú štruktúru softvéru a umožňuje použitie binárnych komponentov ako COM a ActiveX v modeli. Ich reprezentácia v modeli sa uskutočňuje pomocou tried založených na rozhraniach týchto komponentov.

Okrem diagramov tried sa v tejto fáze používajú na popis systémovej logiky stavové diagramy, diagramy scenárov a ďalšie prvky jazyka UML.

Navrhnite fyzickú štruktúru aplikácie. Triedy opísané v predchádzajúcom kroku sú spojené s fyzickými komponentmi programu pomocou diagramov komponentov.

Komponent je spustiteľný modul systému a je spojený so zdrojovým súborom, súborom binárnej knižnice, objektovým modulom alebo spustiteľným súborom. Komponenty môžu obsahovať ďalšie komponenty.

Na vizualizáciu komponentov navrhnutého systému sa používajú diagramy komponentov. Etapa konštrukcie diagramov komponentov v Rose s názvom "Zobrazenie komponentov". Pozostáva z vytvorenia celkového diagramu a v prípade potreby detailného rozpracovania jednotlivých komponentov v poddiagramoch.

Tieto diagramy odrážajú vzťah medzi komponentmi softvéru. Vzťah je realizovaný prostredníctvom rozhraní, ktoré sú zobrazené aj na diagrame.

Diagramy sa vytvárajú v špecializovanom editore. Pre komponent sú špecifikované jeho základné triedy.

Komponent dokáže generovať zdrojový text v rôznych podporovaných programovacích jazykoch racionálna ruža, alebo priraďte fragmenty programu vyvinuté mimo prostredia Rose. V druhom prípade sa ich rozhranie musí zhodovať s rozhraním deklarovaným v modeli.

Posledným krokom pri návrhu softvéru je príprava diagramu nasadenia. IN Rose táto fáza sa nazýva „Zobrazenie nasadenia“. Diagramy nasadenia zobrazujú konfiguráciu spustiteľného softvérového systému. Pozostáva z uzlov a interakčných vzťahov medzi uzlami a komponentmi. Uzly môžu obsahovať komponenty a objekty. Uzly sú fyzické prvky runtime.

Konštrukcia a údržba systému

Generovanie zdrojových textov . Po identifikácii konkrétnych komponentov vyvíjaného systému je čas vygenerovať programový kód pre každý komponent.

Vlastne, Rose vygeneruje kostru programu, ktorá je následne odoslaná programátorom na revíziu. Automaticky sa syntetizujú definície tried a metód, ktorých konkrétna implementácia musí byť vykonaná manuálne.

Počiatočné informácie pre túto operáciu sú informácie o triedach, ktoré tvoria tento komponent a vybranom jazyku na implementáciu tohto komponentu.

Pred vykonaním operácie by ste mali určiť zloženie a parametre na uloženie prijatého kódu. Ďalej vykonajte generovanie výberom požadovaného jazyka. Ak sa vyskytnú chyby, systém vás o tom bude informovať.

Je možné selektívne generovať programový kód pre jednotlivé komponenty modelu a prispôsobiť informácie umiestnené v programových súboroch. Tým je dosiahnutá vysoká flexibilita pri modernizácii a úprave modelu.

Rational Rose 98 Enterprise Edition umožňuje generovať zdrojový text vo Visual Basic, C++, Java, ako aj získať popis rozhraní komponentov v IDL a vytvárať projekty pre systém Oracle 8.

Reengineering modelu na základe zdrojových kódov . Schopnosť reengineer, alebo, ako sa to tiež nazýva, „reverzné inžinierstvo“, model zo zdrojových programových textov sa zdá byť jednou z dôležitých a samozrejme užitočných funkcií. Rose. Potreba takejto operácie často vzniká pri úprave a aktualizácii projektu. Programové šablóny generované modelom po ich prenesení do programátorov je možné upravovať a tieto zmeny je potrebné zohľadniť v modeli. Navyše od r Racionálna ruža podporuje import binárnych komponentov (COM objektov v prostredí Win32), potom je podpora pre budovanie tried na základe popisu rozhraní binárneho komponentu jednoducho nevyhnutná.

Triedy môžete spätne analyzovať výberom programovacieho jazyka, v ktorom sú triedy implementované, a špecifikovaním adresára, v ktorom sa nachádzajú zdrojové súbory. Potom môžete vybrať potrebné súbory alebo ich všetky spätne analyzovať. Pri vykonávaní týchto akcií musíte byť opatrní a vybrať iba tie prvky, ktoré je možné skutočne previesť na model. Počas prevádzky vás systém bude informovať o prítomnosti chýb.

Po úspešnom dokončení operácie sa v diagrame komponentu objaví nový prvok (fáza „Zobrazenie komponentov“) s názvom, ktorý sa zhoduje s adresárom zdrojových súborov. Prechod do fázy logického zobrazenia ukáže, že všetky triedy a balíky, ktoré tvoria nový komponent, sa objavili aj v diagramoch tried.

Teraz je možné vykonávať zmeny v modeli, určené pridanými komponentmi, a regenerovať zdrojové texty.

Podpora štádia vývoja

Komponenty a šablóny. Jedna z možností Rose je modelovanie binárnych komponentov, ktoré podporujú špecifikáciu COM. V modeli sú takéto komponenty reprezentované triedami rozhrania vytvorenými na základe súborov IDL sprevádzajúcich objekt COM. To vám umožní zahrnúť do vášho modelu rôzne bežne dostupné komponenty.

Podpora šablón prvkov modelu zjednodušuje proces návrhu. IN Rose Môžete vytvárať a používať šablóny pre väčšinu prvkov modelu, vrátane: blokov použitia, balíkov, tried, komponentov, ako aj operácií na modeli. Pri vytváraní nového prvku musíte určiť, ktorá šablóna sa používa, a prvok bude obsahovať všetky vlastnosti šablóny. Tento prístup vám umožňuje zbaviť sa rutinnej práce a sústrediť sa na samotný projekt.

Pracovné prostredie. Logický vývoj myšlienky používania šablón a externých binárnych komponentov v Racionálna ruža bol vznik pracovného prostredia (Framework).

Pracovný priestor je typ šablóny, ktorá nastavuje prostredie pre vytváraný model. To sa vykonáva načítaním základných prvkov obsiahnutých v pracovnom stole, ktoré sa stávajú neoddeliteľnou súčasťou modelu.

Rose poskytuje širokú škálu štandardných pracovných prostredí a môžete si vytvoriť aj svoje vlastné. Súbor štandardných pracovných prostredí je nasledovný:

    Prieskumník výkonu aplikácií

    Štandardné prostredie. Zamerané na tvorbu aplikácií vo Visual Basicu. Zahŕňa deklaráciu mnohých štandardných objektov VB.

    Prostredie pre návrh aplikácií pre internet. Zahŕňa definíciu rôznych komponentov ActiveX a VB knižníc.

    Prostredie na návrh aplikácií pre prácu s lokálnymi databázami (Local Database). Obsahuje deklaráciu objektov systému DAO

    Prostredie na návrh aplikácií využívajúce RDO (Remote Data Object). Umožňuje vám používať objekty RDO na vytváranie aplikácií klient-server.

    Prostredie na návrh aplikácií na prístup k serverom SQL (SQL Server Distributed Management Object (SQL-DMO)), ktoré podporuje prístup k SQL prostredníctvom objektov OLE-Automation.

    Prostredie podpory Microsoft Transaction Server

    Prostredie podpory Microsoft Outlook

    Prostredia na vývoj aplikácií Java (Java JDK 114 Full a Java JDK 114 Quick). Zahŕňa modely tried a rozhraní Java získaných prostredníctvom reverzného inžinierstva.

    Prostredie podpory Oracle8

Vývojové prostredie je priradené pri vytváraní modelu. Vývojové prostredia sú uložené vo forme modelových súborov (*.mdl) určených len na čítanie. Počas procesu vytvárania nového modelu sa zo zvoleného vývojového prostredia načítajú potrebné prvky, po ktorých sa vytvorí nový model.

Vývojové prostredia poskytujú skvelý mechanizmus na prispôsobenie Rose pre konkrétny projekt. Môžete si vytvoriť vlastné vývojové prostredie, ktoré bude obsahovať prvky, ktoré potrebujete z rôznych štandardných prostredí. Časť Racionálna ruža obsahuje „master“ na vytváranie pracovných prostredí.

Podpora vývojového tímu. Akýkoľvek veľký projekt zvyčajne vykonáva skupina vývojárov, ktorá zahŕňa analytikov, dizajnérov a programátorov. Proces vývoja pozostáva z postupných iterácií s cyklom „analýza“ – „návrh“ – „implementácia“. V každej fáze s modelom pracuje niekoľko vývojárov a fázy sa cyklicky opakujú. V takýchto podmienkach je potrebné zachovať integritu projektu, brať do úvahy zmeny vykonané v rôznych fázach a koordinovať fázy. To všetko si vyžaduje použitie spoločného úložiska a špeciálnej ideológie dizajnu.

Spolu s pohodlným nástrojom na kontrolu modelu, ktorý uľahčuje prepínanie medzi fázami, Racionálna ruža Boli identifikované mechanizmy na podporu vývojového tímu.

Vytvára rôzne pracovné priestory pre vývojárov a pracovný priestor pre celý projekt. Každý vývojár vykoná zmeny vo svojej časti (podmodelu), pričom tieto zmeny sa stanú globálnymi (prenesenými do všeobecného modelu) až po ich schválení systémom riadenia projektu. Ako projektoví kontrolóri v Rose možno použiť externé systémy, ako napr ClearCase A Microsoft SourceSafe.

Použitie rozširujúcich modulov . IN Racionálna ruža Bol zavedený flexibilný mechanizmus na konfiguráciu a prispôsobenie schopností systému. Existujú rôzne rozširujúce moduly, do ktorých je možné nainštalovať Rose a riešenie rôznych problémov. Existujú dva hlavné typy rozširujúcich modulov: rozšírenia, ktoré podporujú programovacie jazyky a rozšírenia funkčnosti prostredia.

Pri pridávaní nového rozšírenia sa integruje so systémom pridávaním položiek do systémových ponúk a inštaláciou potrebných knižníc a spustiteľných súborov. Okrem toho môže každé rozšírenie pridať do systému svoje vlastné typy a šablóny.

Potrebné rozšírenia sa zvyčajne pridávajú počas počiatočnej inštalácie systému, ale je možné ich nainštalovať aj neskôr. Podporovaná je distribúcia rozšírení cez internet

Ak chcete spravovať rozšírenia v Rose Existuje správca rozšírení. S jeho pomocou môžete aktivovať a deaktivovať rôzne rozširujúce moduly.

Výhody a nevýhody Rational Rose

Tento nástroj CASE je možné použiť na vytváranie rôznych objektovo orientovaných softvérov, predovšetkým pre platformu Windows, ako aj v multiplatformovom jazyku Java.

Jazyk UML sa používa vo všetkých fázach vývoja a softvérový projekt je jednotný model.

Dôležitými výhodami sú prispôsobenie pre rôzne programovacie jazyky a architektúry softvérových systémov, ako aj možnosť „reverzného inžinierstva“ na základe zdrojových textov v rôznych programovacích jazykoch. Pre komponenty navrhovaného systému existuje podpora pre rôzne spôsoby fyzickej implementácie.

Schopnosť konfigurovať systém pomocou rozširujúcich modulov je veľmi užitočná. V skutočnosti jediný spôsob, ako napísať aplikáciu pre iný operačný systém ako Windows, je použiť jazyk Java.

Podstata a koncept inštrumentálneho softvéru

Inštrumentálny softvér (IPO) je softvér určený na použitie pri navrhovaní, vývoji a údržbe programov.

Nástroje sa používajú vo fáze vývoja. Nástrojový softvér je súbor programov používaných na pomoc programátorom v ich práci, na pomoc manažérom vývoja softvéru v ich úsilí kontrolovať proces vývoja a výsledné produkty. Najznámejšími predstaviteľmi tejto časti softvéru sú prekladateľské programy z programovacích jazykov, ktoré pomáhajú programátorom písať strojové príkazy. Inštrumentálne programy sú prekladatelia z jazykov Fortran, Cobol, Joe-vial, BASIC, APL a Pascal. Uľahčujú proces tvorby nových pracovných programov. Jazykové prekladače sú však len najznámejšou časťou inštrumentálnych programov; je ich veľmi veľa.

Používanie počítačov na vytváranie nových programov nie je ani zďaleka samozrejmosťou pre ľudí, ktorí nie sú profesionálnymi programátormi. Často sa stáva, že profesionáli hovoria o nástroji (fáza vývoja) a systémovom (fáza používania) softvéri jedným dychom, pričom predpokladajú, že tí, ktorí nie sú zasvätení do tajomstiev svojho remesla, sú si vedomí tejto úlohy softvérového nástroja. Rovnako ako vo fáze používania (pre aplikačné programy), systémový softvér funguje aj vo fáze vývoja, ale iba v spojení s nástrojmi. Nástrojový softvér alebo programovacie systémy sú systémy na automatizáciu vývoja nových programov v programovacom jazyku.

V najvšeobecnejšom prípade na vytvorenie programu vo vybranom programovacom jazyku (systémovom programovacom jazyku) potrebujete mať nasledujúce komponenty:

1. Textový editor na vytvorenie súboru so zdrojovým textom programu.

2. Kompilátor alebo interpret. Zdrojový text je preložený do stredného objektového kódu pomocou kompilačného programu. Zdrojový kód veľkého programu pozostáva z niekoľkých modulov (zdrojových súborov). Každý modul je zostavený do samostatného súboru s objektovým kódom, ktorý sa potom musí spojiť do jedného.

3. Link editor alebo assembler, ktorý spája objektové moduly a vytvára funkčnú aplikáciu ako výstup – spustiteľný kód.

Spustiteľný kód je úplný program, ktorý je možné spustiť na akomkoľvek počítači s operačným systémom, pre ktorý bol program vytvorený. Výsledný súbor má spravidla príponu .EXE alebo .COM.

V poslednej dobe sa rozšírili metódy vizuálneho programovania (pomocou skriptovacích jazykov) zamerané na vytváranie aplikácií pre Windows. Tento proces je automatizovaný v prostredí rýchleho návrhu. V tomto prípade sa používajú hotové vizuálne komponenty, ktoré sa konfigurujú pomocou špeciálnych editorov.

Najpopulárnejšie editory (programovacie systémy využívajúce vizuálne nástroje) pre vizuálny dizajn:

Borland Delphi - navrhnutý tak, aby vyriešil takmer akýkoľvek problém s programovaním aplikácií.

Borland C++ Builder je vynikajúci nástroj na vývoj aplikácií pre DOS a Windows.

Microsoft Visual Basic je populárny nástroj na vytváranie programov Windows.

Microsoft Visual C++ – tento nástroj vám umožňuje vyvíjať akékoľvek aplikácie bežiace v prostredí operačného systému, ako je Microsoft Windows

Podstatou inštrumentálneho softvéru je teda vytvorenie ľubovoľného spustiteľného programu prevedením formálnych logických výrazov na spustiteľný strojový kód, ako aj jeho ovládanie a úprava.

Úlohy a funkcie softvéru nástroja

Inštrumentálny softvér, ako špeciálny typ softvéru, sa vyznačuje všeobecným a súkromným

funkcie, ako pre všetok softvér vo všeobecnosti. Všeobecné funkcie sú diskutované vyššie a špecializované funkcie vlastné iba tomuto typu programu sú:

1. Vytvorenie textu vyvíjaného programu pomocou špeciálne vytvorených kódových slov (programovací jazyk), ako aj určitého súboru znakov a ich umiestnenia vo vytvorenom súbore - syntax programu.

2. Preklad textu vytvoreného programu do strojovo orientovaného kódu, prístupného pre počítačové rozpoznanie. Ak je objem vytvoreného programu významný, je rozdelený do samostatných modulov a každý z modulov je preložený samostatne.

3. Spájanie jednotlivých modulov do jedného spustiteľného kódu, pri dodržaní potrebnej štruktúry, zabezpečujúcej koordináciu interakcie jednotlivých častí medzi sebou.

4. Testovanie a monitorovanie vytvoreného programu, identifikácia a odstraňovanie formálnych, logických a syntaktických chýb, kontrola programov na prítomnosť zakázaných kódov, ako aj hodnotenie výkonu a potenciálu vytvoreného programu.

Typy nástrojového softvéru

Na základe úloh priradených inštrumentálnemu softvéru môžeme rozlíšiť veľké množstvo rôznych typov inštrumentálneho softvéru:

Textové editory

Integrované vývojové prostredia

Kompilátory

Tlmočníci

Linkery

Analyzátory a generátory analyzátorov (pozri Javacc)

Montážnici

Debuggery

Profilátori

Generátory dokumentácie

Nástroje na analýzu pokrytia kódu

Nástroje kontinuálnej integrácie

Automatizované testovacie nástroje

Systémy kontroly verzií atď.

Je potrebné poznamenať, že shelly na vytváranie aplikačných programov sú tiež vytvárané nástrojovými programami, a preto ich možno klasifikovať ako aplikačné programy. Pozrime sa stručne na účely niektorých inštrumentálnych programov.

Textové editory.

Textový editor je počítačový program určený na spracovanie textových súborov, ako je vytváranie a vykonávanie zmien.

CAD zloženie

CAD je systém, ktorý kombinuje technické prostriedky, matematiku a softvér, ktorého parametre a charakteristiky sú vyberané s maximálnym zohľadnením špecifík inžinierskeho projektovania a konštrukčných úloh. CAD zaisťuje jednoduché používanie programov pomocou prostriedkov operačnej komunikácie medzi inžinierom a počítačom, špeciálnych problémovo orientovaných jazykov a dostupnosti informačnej a referenčnej databázy.

Štrukturálne komponenty CAD sú subsystémy, ktoré majú všetky vlastnosti systémov a sú vytvorené ako nezávislé systémy. Sú to časti CAD systémov, identifikované podľa určitých charakteristík, ktoré zabezpečujú vykonanie určitých dokončených konštrukčných úloh s prijatím zodpovedajúcich konštrukčných riešení a konštrukčných dokumentov.

Podsystémy CAD sa na základe účelu delia na dva typy: návrh a údržba.

Navrhovacie podsystémy zahŕňajú tie, ktoré vykonávajú konštrukčné postupy a operácie, napríklad:

· subsystém rozloženia stroja;

· podsystém pre navrhovanie montážnych jednotiek;

· podsystém návrhu dielov;

· podsystém návrhu riadiaceho obvodu;

· podsystém technologického návrhu.

Servisné podsystémy zahŕňajú podsystémy určené na zachovanie funkčnosti konštrukčných podsystémov, napríklad:

· podsystém pre grafické zobrazenie dizajnových objektov;

· dokumentačný subsystém;

· podsystém vyhľadávania informácií a pod.

V závislosti od vzťahu k objektu návrhu sa rozlišujú dva typy podsystémov návrhu:

· objektovo orientovaný (objektový);

· objektovo nezávislý (invariantný).

Objektové subsystémy zahŕňajú subsystémy, ktoré vykonávajú jeden alebo viacero návrhových postupov alebo operácií, ktoré sú priamo závislé od konkrétneho objektu návrhu, napríklad:

· podsystém návrhu technologických systémov;

· podsystém pre modelovanie dynamiky, navrhnutej štruktúry a pod.

Invariantné podsystémy zahŕňajú podsystémy, ktoré vykonávajú jednotné návrhové postupy a operácie, napríklad:

· podsystém na výpočet častí strojov;

· podsystém na výpočet režimov rezania;

· podsystém výpočtu technicko-ekonomických ukazovateľov a pod.

Proces projektovania je implementovaný v subsystémoch vo forme špecifickej postupnosti návrhových postupov a operácií. Konštrukčný postup zodpovedá časti návrhového subsystému, v dôsledku čoho dochádza k určitému návrhovému rozhodnutiu. Pozostáva z elementárnych návrhových operácií, má pevne stanovený poriadok ich realizácie a je zameraný na dosiahnutie lokálneho cieľa v procese návrhu. Návrhovou operáciou sa rozumie konvenčne zvolená časť projekčného postupu alebo elementárna činnosť vykonaná projektantom počas procesu projektovania. Príklady konštrukčných postupov zahŕňajú postupy na vypracovanie kinematickej alebo rozvrhovej schémy obrábacieho stroja, technológie spracovania výrobkov atď., Príklady konštrukčných operácií zahŕňajú výpočet prídavkov, riešenie rovnice atď.

Štrukturálna jednota CAD subsystémov je zabezpečená prísnou reguláciou väzieb medzi rôznymi typmi softvéru, zjednotenými spoločnou cieľovou funkciou pre daný subsystém. Rozlišujú sa tieto typy zabezpečenia:

· metodická podpora – dokumenty, ktoré odrážajú zloženie, pravidlá pre výber a fungovanie nástrojov automatizácie dizajnu;

· jazyková podpora - dizajnové jazyky, terminológia;

· softvér - metódy, matematické modely, algoritmy;

· softvér - dokumenty s programovými textami, programy na počítačových médiách a prevádzkové dokumenty;

· technické zabezpečenie - počítačové a organizačné vybavenie, zariadenia na prenos dát, meracie a iné zariadenia a ich kombinácie;

· informačná podpora - dokumenty obsahujúce popis štandardných konštrukčných postupov, štandardných konštrukčných riešení, štandardných prvkov, komponentov, materiálov a iných údajov;

· organizačné zabezpečenie - predpisy a pokyny, príkazy, personálne harmonogramy a iné dokumenty upravujúce organizačnú štruktúru útvarov a ich interakciu s komplexom nástrojov automatizácie návrhu.

· 64 technológií CALS.

Technológie CALS slúžia ako prostriedok integrácie priemyselných automatizovaných systémov do jedného multifunkčného systému. Cieľom integrácie automatizovaných systémov navrhovania a riadenia je zvýšiť efektivitu vytvárania a používania zložitých zariadení.

V moderných podmienkach vzniku globálnej informačnej spoločnosti sa výrazne zvyšuje úloha informácií a informačných technológií v príprave budúceho odborníka. V blízkej budúcnosti nebudú strategickým potenciálom spoločnosti energetické zdroje, ale informácie a vedecké poznatky. Informácie sa stávajú hlavným zdrojom vedeckého, technického a sociálno-ekonomického rozvoja spoločnosti, výrazne ovplyvňujú zrýchlený rozvoj vedy, techniky a rôznych priemyselných odvetví a zohrávajú významnú úlohu v procese modernizácie vzdelávania. Hodnotovo-sémantické charakteristiky vysokoškolského vzdelávania a profesijnej činnosti odborníkov by sa mali prejaviť vo formovaní intelektuálneho profesionálneho prostredia, ktoré najplnšie realizuje úlohy výskumnej a dizajnérskej činnosti.

Rozšírená informatizácia všetkých druhov ľudskej činnosti: od tradičných intelektuálnych úloh vedeckého charakteru až po automatizáciu výrobných, obchodných, obchodných, bankových a iných druhov činností slúži na zvýšenie efektivity výroby. V trhovej ekonomike úspešne obstoja v konkurencii len podniky, ktoré pri svojej činnosti využívajú moderné informačné technológie.

Práve informačné technológie spolu s vyspelými technológiami materiálovej výroby umožňujú výrazne zvýšiť produktivitu práce a kvalitu produktov a zároveň výrazne skrátiť čas potrebný na uvedenie nových produktov, ktoré spĺňajú potreby a očakávania spotrebiteľov. Všetko uvedené platí predovšetkým pre komplexné high-tech produkty vrátane produktov na technické účely.

Skúsenosti získané v procese implementácie rôznych autonómnych informačných systémov umožnili uvedomiť si potrebu integrácie rôznych informačných technológií do jedného komplexu založeného na vytvorení v rámci podniku alebo skupiny podnikov (virtuálny podnik) integrovaného informačného prostredia, ktoré podporuje všetky fázy životného cyklu vyrábaných produktov. Profesionálne prostredie najúplnejšie odhaľuje možnosti profesijného zdokonaľovania, využívania nových informačných technológií vo vede a v oblasti riadenia výrobných procesov. Inovatívne technológie v oblasti priemyslu spracovania informácií so zavedením technológie CALS-(Continuous Acquisition and Life Cycle Support) - nepretržitá informačná podpora životného cyklu navrhovaného objektu, posúva automatizáciu riadenia výrobných procesov na novú úroveň.

Využívanie informačných technológií založených na ideológii CALS je jedným z faktorov, ktoré prispievajú k efektívnejšej implementácii automatizovaného systému riadenia podniku.

Technológie CALS slúžia ako prostriedok integrácie priemyselných automatizovaných systémov do jedného multifunkčného systému. Cieľom integrácie automatizovaných systémov navrhovania a riadenia je zvýšiť efektivitu vytvárania a používania zložitých zariadení.

Podstatou konceptu CALS je aplikácia princípov a technológií informačnej podpory vo všetkých fázach životného cyklu produktu, založená na využití integrovaného informačného prostredia, ktoré poskytuje jednotné spôsoby riadenia procesov a interakcie všetkých účastníkov tohto cyklu: zákazníci produktov (vrátane vládnych agentúr a oddelení), dodávatelia (výrobcovia) produkty, prevádzkový a údržbársky personál. Tieto princípy a technológie sú implementované v súlade s požiadavkami medzinárodných noriem upravujúcich pravidlá riadenia a interakcie predovšetkým prostredníctvom elektronickej výmeny dát.

Pri použití technológie CALS sa kvalita produktov zvyšuje vďaka komplexnejšiemu zohľadneniu dostupných informácií pri navrhovaní a prijímaní manažérskych rozhodnutí a tiež sa znižujú materiálové a časové náklady na dizajn a výrobu produktov. V procese zavádzania tejto technológie bude platnosť rozhodnutí vykonaných v automatizovanom systéme riadenia podniku (EMS) vyššia, ak osoba s rozhodovacou právomocou a príslušné riadiace programy budú mať rýchly prístup nielen k databáze AMMS, ale aj k databázam iných automatizované systémy a Preto dokáže optimalizovať pracovné plány, obsah žiadostí, rozmiestnenie účinkujúcich, prideľovanie financií a pod. Online prístup je zároveň potrebné chápať nielen ako možnosť čítania údajov z databázy, ale aj ako jednoduchosť ich správnej interpretácie, t. konzistentnosť syntaxe a sémantiky s protokolmi prijatými v automatizovaných riadiacich systémoch. Technologické subsystémy musia vnímať a správne interpretovať dáta prichádzajúce z automatizovaných návrhových subsystémov s vysokou presnosťou. To nie je také ľahké dosiahnuť, ak hlavný podnik a súvisiace organizácie pracujú s rôznymi automatizovanými systémami. Okrem toho sa problém ochrany informácií pozdĺž celého obvodu technologických subsystémov stáva naliehavým.

Použitie technológií CALS môže výrazne znížiť množstvo projekčnej práce, pretože popisy predtým dokončeného úspešného vývoja komponentov a zariadení, mnohých komponentov zariadení, strojov a systémov, ktoré boli navrhnuté skôr, sú uložené v databázach sieťových serverov, ku ktorým má prístup každý používateľ. Technológia CALS. Dostupnosť a ochrana sú opäť zabezpečené konzistentnosťou formátov, metód, smerníc v rôznych častiach celkového integrovaného systému. Okrem toho existujú väčšie možnosti špecializácie podnikov, dokonca aj vytváranie virtuálnych podnikov, čo tiež pomáha znižovať náklady.

V procese implementácie technológie CALS sa výrazne znižujú prevádzkové náklady vďaka implementácii funkcií integrovanej logistickej podpory. Výrazne uľahčuje riešenie problémov údržby, integrácie produktov do rôznych typov systémov a prostredí, prispôsobenie sa meniacim sa prevádzkovým podmienkam atď. Tieto výhody dátovej integrácie sú dosiahnuté použitím moderných technológií CALS.

Priemyselné automatizované systémy môžu fungovať autonómne av súčasnosti prebieha organizácia procesu riadenia výroby na tomto základe. Efektívnosť automatizácie však bude výrazne vyššia, ak budú údaje generované v jednom zo systémov dostupné aj v iných systémoch, pretože rozhodnutia v nich urobené budú informovanejšie.

Skúsenosti s implementáciou technológie CALS ukazujú, že na dosiahnutie správnej úrovne interakcie medzi priemyselnými automatizovanými systémami je potrebné vytvoriť jednotný informačný priestor v rámci jednotlivých podnikov a čo je dôležitejšie, v rámci združenia podnikov. Jednotný informačný priestor je zabezpečený zjednotením formy aj obsahu informácií o konkrétnych produktoch v rôznych fázach ich životného cyklu.

Zjednotenie formy je dosiahnuté použitím štandardných formátov a jazykov na prezentáciu informácií pri medziprogramových výmenách a pri dokumentácii.

Zjednotenie obsahu, chápané ako jednoznačná správna interpretácia údajov o konkrétnom produkte vo všetkých fázach jeho životného cyklu, je zabezpečená vývojom ontológií (metaopisov) aplikácií, zakotvených v aplikačných protokoloch CALS.

CAD – čo to je?

Čo sú teda počítačom podporované konštrukčné systémy? CAD sa vzťahuje na automatizované systémy, ktoré sú navrhnuté tak, aby implementovali jednu alebo druhú informačnú technológiu prostredníctvom dizajnu. CAD systémy sú v praxi technické systémy, ktoré umožňujú automatizovať a zabezpečiť fungovanie procesov tvoriacich vývoj projektov. V závislosti od kontextu môže CAD znamenať:

softvér používaný ako hlavný prvok príslušnej infraštruktúry;

Súbor technických a personálnych systémov (vrátane tých, ktoré zahŕňajú použitie CAD vo forme softvéru) používaných v podniku na automatizáciu procesu vývoja projektu;

Je teda možné rozlíšiť široký a užší výklad predmetného pojmu. Ťažko povedať, ktorý z týchto výkladov sa v biznise používa častejšie. Všetko závisí od konkrétnej oblasti použitia počítačovo podporovaných konštrukčných systémov, ako aj od úloh, na ktoré sa tieto systémy majú používať. Takže napríklad v kontexte jednej výrobnej dielne sa CAD považuje za špecifický program pre počítačom podporované navrhovanie. Ak hovoríme o strategickom plánovaní rozvoja organizácie, potom taký koncept ako CAD bude s najväčšou pravdepodobnosťou zodpovedať rozsiahlej infraštruktúre, ktorá sa používa na zvýšenie efektívnosti vývoja rôznych projektov. Je potrebné poznamenať, že samotný pojem CAD je skratka, ktorá sa dá dešifrovať rôznymi spôsobmi. Vo všeobecnosti táto skratka zodpovedá kombinácii slov „počítačom podporovaný návrhový systém“. Existujú aj ďalšie možnosti na rozlúštenie tejto skratky. Napríklad možnosť „systém automatizácie dizajnu“ je celkom bežná. Významovo je anglickým ekvivalentom pojmu CAD skratka CAD, v niektorých prípadoch sa používa aj CAX Pozrime sa bližšie na nasledujúcu otázku: na aké účely možno vytvárať systémy počítačom podporovaného projektovania v strojárstve a iné polia?

CAD: ciele tvorby

Hlavným cieľom vývoja CAD je zvýšiť efektivitu práce podnikových špecialistov, ktorí riešia rôzne výrobné problémy, vrátane tých, ktoré súvisia s inžinierskym dizajnom. V tomto prípade sa účinnosť môže zvýšiť v dôsledku nasledujúcich faktorov:

Zníženie náročnosti procesu navrhovania;

skrátenie času realizácie projektu;

Zníženie nákladov na projektové práce a prevádzkových nákladov;

Zabezpečenie zlepšenej kvality projektovej infraštruktúry.

Znížte náklady na testovanie a simuláciu.

CAD je nástroj, ktorý vám umožňuje dosiahnuť uvedené výhody vďaka nasledujúcim faktorom:

Efektívna informačná podpora pre špecialistov zapojených do vývoja projektov;

Automatizácia dokumentácie;

Aplikácia paralelných konceptov dizajnu;

Zjednotenie rôznych riešení;

Aplikácia matematického modelovania ako alternatíva k drahému testovaniu;

Optimalizácia metód navrhovania;

Zlepšenie kvality procesov riadenia podniku.

Teraz sa pozrime na štruktúru, v ktorej môže byť prezentovaný systém automatického návrhu.

CAD: klasifikácie

Medzi najbežnejšie kritériá klasifikácie CAD patrí priemyselný účel. Rozlišujú sa tieto typy:

  1. Automatizovaný návrh infraštruktúry strojárstva;
  2. CAD pre elektronické zariadenia;
  3. CAD v oblasti stavebníctva.

Prvý typ CAD systémov je možné použiť v širokej škále priemyselných odvetví: výroba lietadiel, výroba automobilov, stavba lodí a výroba spotrebného tovaru. Zodpovedajúca infraštruktúra môže byť tiež použitá na vývoj jednotlivých častí a rôznych mechanizmov s použitím rôznych prístupov v rámci modelovania a dizajnu.

Druhý typ CAD systémov sa používa na navrhovanie hotových elektronických zariadení a ich jednotlivých prvkov, napríklad integrovaných obvodov, procesorov a iných typov hardvéru.

CAD tretieho typu možno použiť na navrhovanie rôznych štruktúr, budov a prvkov infraštruktúry.

Ďalším kritériom, podľa ktorého možno klasifikovať systémy počítačom podporovaného navrhovania, je zamýšľaný účel. Tu zdôrazňujú:

Dizajnérske nástroje používané na automatizáciu dvojrozmerných alebo trojrozmerných geometrických modelov na generovanie projektovej dokumentácie;

Systémy používané na vytváranie rôznych výkresov;

Systémy určené na geometrické modelovanie;

Systémy navrhnuté na automatizáciu výpočtov v rámci inžinierskych projektov a dynamického modelovania;

Automatizačné nástroje používané na účely technologickej optimalizácie projektov;

Systémy určené na počítačovú analýzu rôznych parametrov pre projekty.

Táto klasifikácia sa považuje za podmienenú.

Počítačom podporovaný systém navrhovania procesov môže zahŕňať širokú škálu funkcií z tých, ktoré sú uvedené vyššie. Konkrétny zoznam možností CAD primárne určuje vývojár systému. Pozrime sa, aké úlohy dokáže vyriešiť.

Nástroj na vývoj softvéru Systémový nástroj Softvér

Esej

SOFTWARE - súbor programov systému na spracovanie informácií a programových dokumentov potrebných na prevádzku týchto programov (GOST 19781-90). Tiež - súbor programov, postupov a pravidiel, ako aj dokumentácia súvisiaca s prevádzkou systému spracovania dát (ST ISO 2382/1-84).

NÁSTROJOVÝ SOFTWARE – softvér určený na použitie pri navrhovaní, vývoji a údržbe programov. Tento výraz sa zvyčajne používa na zdôraznenie rozdielu medzi touto triedou softvéru a aplikačným a systémovým softvérom.

COMPILER – prekladač, ktorý prevádza program napísaný v zdrojovom jazyku na objektový modul.

INTERPRETER - program (niekedy hardvérový), ktorý analyzuje príkazy alebo príkazy programu a okamžite ich vykonáva.

OPERAČNÝ SYSTÉM - súbor riadiacich a spracovateľských programov, ktoré na jednej strane fungujú ako rozhranie medzi zariadeniami počítačového systému a aplikačnými programami a na druhej strane sú určené na ovládanie zariadení, riadenie výpočtových procesov, efektívne rozdeľovanie výpočtových zdrojov medzi výpočtové procesy a organizovať spoľahlivú výpočtovú techniku.

APLIKAČNÝ PROGRAM - program určený na vykonávanie určitých úloh používateľa a určený na priamu interakciu s používateľom.

VISUALBASIC je nástroj na vývoj softvéru vyvinutý spoločnosťou Microsoft Corporation, ktorý obsahuje programovací jazyk a vývojové prostredie.

VISUALBASICFORAPPLICATION je mierne zjednodušená implementácia programovacieho jazyka Visual Basic, zabudovaná do radu produktov Microsoft Office (vrátane verzií pre Mac OS), ako aj do mnohých ďalších softvérových balíkov, ako sú AutoCAD, SolidWorks, CorelDRAW, WordPerfect a ESRI ArcGIS.

Cieľom práce je študovať typy a funkcie softvéru, najmä inštrumentálneho softvéru.

Klasifikácia softvéru:

Typy softvérového nástroja:

1) Textové editory

4) Kompilátory

5) Tlmočníci

6) Linkery

8) Montéri

9) Debuggery

10) Profilátori

11) Generátory dokumentácie

Ak chcete vytvoriť program vo vybranom programovacom jazyku, musíte mať nasledujúce komponenty:

2. Kompilátor alebo interpret. Zdrojový text je preložený do stredného objektového kódu pomocou kompilačného programu.

Výsledok práce: Zohľadňuje sa softvér, jeho funkcie a typy, najmä inštrumentálny softvér, jeho podstata a úlohy. Tretia kapitola rozoberá Microsoft Visual Basic ako nástroj na vývoj softvéru a jeho dialekt - Microsoft Visual Basic for Application. Práca v kurze implementuje algoritmus na riešenie finančného a ekonomického problému pomocou programovacieho jazyka Pascal.

Úvod

V modernom svete si nejeden človek, ktorý okúsil výhody civilizácie, nevie predstaviť svoj život bez použitia výpočtovej techniky. Jeho využitie sa vyskytuje v akejkoľvek sfére ľudskej činnosti: výroba, obchod, vzdelávanie, zábava a komunikácia ľudí, ich vedecké a kultúrne aktivity. To všetko vďaka schopnosti vybrať si počítačové vybavenie na vyriešenie akéhokoľvek, aj toho najzložitejšieho problému.

Všestrannosť a špecializácia výpočtovej techniky je však zabezpečená použitím inej sady softvéru na báze takmer každého počítača, ktorý poskytuje riešenie akýchkoľvek zadaných úloh.

Všetci vidíme obrovskú rozmanitosť počítačových programov a ohromujúce tempo ich rastu a zdokonaľovania a len malá časť z nás chápe neviditeľnú stránku ich dizajnu, vývoja a tvorby. Táto oblasť výpočtovej techniky je však podľa nášho názoru najdôležitejšia, keďže budúcnosť výpočtovej techniky bude závisieť od jej rozvoja.

A keďže vývoj akéhokoľvek počítačového programu prebieha pomocou inštrumentálneho softvéru, v našej práci na kurze by som sa mu chcel podrobne venovať, vyzdvihnúť ho zo všetkých softvérov a odhaliť jeho podstatu a vlastnosti.

Pre názornosť sa pozrieme na inštrumentálny softvér (predmet štúdia) na príklade softvérového balíka VisualBasicforApplication (predmet štúdia), slúžiaceho na programovanie v prostredí Microsoft Office – najrozšírenejší a najobľúbenejší kancelársky balík.

1. Softvér

1.1 Pojem a podstata softvéru

Softvér je neoddeliteľnou súčasťou počítačového systému. Je logickým pokračovaním technických prostriedkov akéhokoľvek počítača. Rozsah použitia konkrétneho počítača je určený softvérom, ktorý je preň vytvorený. Samotný počítač nemá znalosti o žiadnej aplikácii. Všetky tieto znalosti sú sústredené v programoch bežiacich na počítačoch, ktoré majú súbor špecifických funkcií a sú určené na vykonávanie špecifických, vo väčšine prípadov vysoko špecializovaných funkcií, ako je vytváranie a spracovanie grafických obrázkov alebo zvukových súborov.

Softvér v súčasnosti obsahuje stovky tisíc programov, ktoré sú navrhnuté tak, aby spracovávali širokú škálu informácií na rôzne účely.

Softvér tiež zahŕňa celú oblasť činnosti v oblasti návrhu a vývoja softvéru:

1) technológia návrhu programu (napríklad dizajn zhora nadol, štruktúrovaný a objektovo orientovaný dizajn);

2) metódy testovania programov;

3) metódy preukazovania správnosti programov;

4) analýza kvality programov;

5) dokumentovanie programov;

6) vývoj a používanie softvérových nástrojov, ktoré uľahčujú proces navrhovania softvéru a oveľa viac.

Existuje mnoho rôznych definícií softvéru. Vo všeobecnosti je softvér súbor programov systému spracovania informácií a programových dokumentov potrebných na fungovanie týchto programov (GOST 19781-90). Tiež - súbor programov, postupov a pravidiel, ako aj dokumentácia súvisiaca s prevádzkou systému spracovania dát (ST ISO 2382/1-84).

Softvér je jedným z typov podpory počítačového systému spolu s technickou (hardvérovou), matematickou, informačnou, jazykovou, organizačnou a metodickou podporou.

V počítačovom slangu sa slovo softvér často používa z anglického slova software, ktoré bolo v tomto zmysle prvýkrát použité v článku v časopise American Mathematical Monthly matematika z Princetonskej univerzity Johna W. Tukeyho v roku 1958.

Ďalšie definície:

1) SOFTWARE je súbor programov, ktoré umožňujú automatizované spracovanie informácií v počítači.

2) SOFTWARE (matematická podpora pre elektronický počítač), súbor programov pre systém spracovania dát a programové dokumenty potrebné na implementáciu programov na elektronickom počítači.

3) SOFTWARE - súbor programov na riadenie procesu prevádzky počítača a automatizáciu programovania.

4) SOFTWARE - súbor počítačových programov, ktorý zabezpečuje spracovanie alebo prenos dát.

Všetky definície sú podobné a odrážajú podstatu softvéru – organizovanie interakcie hardvérovej (technickej) časti, v podobe rôznych vstavaných uzlov a periférnych zariadení, ich riadenie a koordináciu celkovej interakcie počítačového systému navzájom a s používateľom.

1.2 Softvérové ​​funkcie

Vyššie uvedené pojmy softvéru určujú funkcie vykonávané softvérom počas prevádzky počítačového vybavenia. Zoznam týchto funkcií je veľmi rôznorodý, ale možno ich rozdeliť zhruba do nasledujúcich piatich typov:

1. Hardvérové ​​a mechanické. Prepojujú rôzne počítačové komponenty a zabezpečujú prenos hardvérového signálu z jedného komponentu na druhý.

2. Strojovo-logicky. Spracujte a interpretujte súbor elektromagnetických impulzov z hardvéru do logicky uvedomelého softvérového kódu, ktorý má špecifickú štruktúru a vlastnosti.

3. Informácie a velenie. Kontrolujú súlad programového kódu s princípmi systému a vytvárajú logickú štruktúru informácií a vykonávajú ich vykonávanie.

4. Rozhranie. Zabezpečiť spracovanie a interpretáciu programového kódu do formátu zobrazenia prístupného užívateľovi. Vytvára priaznivé prostredie pre interakciu „počítač-človek, človek-počítač“.

5. Aplikované. Vykonáva matematické, logické, fyzikálne a iné úkony so súborom dostupných údajov, inými slovami spracovanie dostupných informácií na riešenie určitých problémov.

Tento zoznam nie je ani zďaleka úplný, čo naznačuje rôznorodosť a nejednoznačnosť funkcií, ktoré softvér vykonáva.

1.3 Typy softvéru

V závislosti od funkcií, ktoré určitý počítačový komponent poskytuje, vzniká preň potreba vytvoriť si vlastný špecializovaný softvér, čo je základným motívom tvorby softvéru rôzneho typu, ako je znázornené na (obr. 1):

a) aplikačné programy, ktoré priamo podporujú vykonávanie prác požadovaných užívateľmi;

b) systémové programy určené na riadenie činnosti počítačového systému vykonávajú rôzne pomocné funkcie, napríklad:

1) riadenie počítačových zdrojov;

2) vytváranie kópií použitých informácií;

3) kontrola funkčnosti počítačových zariadení;

4) vydávanie referenčných informácií o počítači atď.;

c) inštrumentálne softvérové ​​systémy, ktoré uľahčujú proces tvorby nových počítačových programov.

Systémový softvér zabezpečuje prevádzku a údržbu počítača, ako aj automatizáciu procesu tvorby nových programov. Systémový softvér zahŕňa: operačné systémy a ich používateľské rozhranie; softvérové ​​nástroje; systémov údržby.

Operačný systém je povinnou súčasťou špeciálneho softvéru, ktorý zabezpečuje efektívne fungovanie osobného počítača v rôznych režimoch, organizovanie vykonávania programov a interakciu používateľa a externých zariadení s počítačom.

Používateľské rozhranie (servisné programy) sú softvérové ​​doplnky do operačného systému (shell a prostredie) určené na zjednodušenie komunikácie používateľa s operačným systémom.

Programy, ktoré poskytujú rozhranie, si zachovávajú formu komunikácie (dialógu) medzi používateľom a operačným systémom, ale menia jazyk komunikácie (zvyčajne sa príkazový jazyk konvertuje na jazyk menu). Servisné systémy možno rozdeliť na systémy rozhrania, shelly operačného systému a pomocné programy.

Systémy rozhrania sú výkonné servisné systémy, najčastejšie grafického typu, ktoré zlepšujú nielen užívateľské, ale aj programové rozhranie operačných systémov, najmä implementáciou niektorých dodatočných postupov na rozdelenie dodatočných zdrojov.

Škrupiny operačného systému poskytujú používateľovi kvalitatívne nové rozhranie v porovnaní s rozhraním implementovaným operačným systémom a jeho znalosť je voliteľná.

Utility automatizujú vykonávanie určitých štandardných, často používaných postupov, ktorých implementácia by od používateľa vyžadovala vývoj špeciálnych programov. Mnohé nástroje majú vyvinuté interaktívne rozhranie s používateľom a úroveň komunikácie sa približujú k shellom.

Softvérové ​​nástroje (programovacie systémy) sú povinnou súčasťou softvéru, pomocou ktorého sa programy vytvárajú. Softvérové ​​nástroje zahŕňajú nástroje na písanie programov (textové editory); nástroje na konverziu programov do podoby vhodnej na spustenie na počítači (assemblery, kompilátory, interpretery, zavádzače a editory odkazov), prostriedky na monitorovanie a ladenie programov.

Textové editory umožňujú pohodlne upravovať, formovať a kombinovať texty programov a niektoré umožňujú ovládať syntax vytvorených programov.

Program napísaný v algoritmickom jazyku musí byť prevedený na objektový modul napísaný v strojovom jazyku (binárny kód). Takúto konverziu vykonávajú prekladatelia (assembler - z jazyka Assembler a kompilátory - z jazykov na vysokej úrovni). Pre niektoré algoritmické jazyky sa používajú tlmočníci, ktorí nevytvárajú objektový modul, ale pri každom nasledujúcom spustení programu prekladajú každý z jeho jednotlivých riadkov alebo príkazov do strojového jazyka. Objektový modul je spracovaný zavádzačom - editorom odkazov, ktorý ho prevedie na spustiteľný strojový program.

Nástroje na ladenie vám umožňujú sledovať programy (spúšťanie krok za krokom s informáciami o výsledkoch spustenia), kontrolovať syntax programu a medzivýsledky v bodoch prerušenia a upravovať hodnoty premenných v týchto bodoch.

Údržbové a servisné systémy sú softvérové ​​nástroje na monitorovanie, diagnostiku a obnovu funkčnosti počítača, diskov a pod.

Aplikačný softvér poskytuje riešenia užívateľských problémov. Kľúčovým konceptom je tu balík aplikácií.

Aplikačný softvérový balík je sada programov na riešenie množstva problémov týkajúcich sa konkrétnej témy alebo predmetu. Rozlišujú sa tieto typy balíkov aplikácií:

1) všeobecný účel – zameraný na automatizáciu širokého spektra používateľských úloh (textové procesory, tabuľkové editory, systémy správy databáz, grafické procesory, publikačné systémy, systémy automatizácie dizajnu atď.);

2) orientované na metódy - implementácia rôznych ekonomických a matematických metód na riešenie problémov (matematické programovanie, plánovanie a riadenie sietí, teória radenia, matematická štatistika atď.);

3) orientovaný na problém – zameraný na riešenie konkrétnej úlohy (problému) v konkrétnej tematickej oblasti (bankové balíky, účtovné balíky, finančný manažment, právne referenčné systémy atď.).

Aplikačný softvér zahŕňa servisný softvér, ktorý slúži na organizáciu pohodlného pracovného prostredia pre používateľa, ako aj na vykonávanie pomocných funkcií (správcovia informácií, prekladatelia atď.).

Pri konštrukcii softvérovej klasifikácie je potrebné vziať do úvahy skutočnosť, že rýchly rozvoj výpočtovej techniky a rozšírenie rozsahu počítačových aplikácií výrazne urýchlili proces evolúcie softvéru. Ak predtým bolo ľahké vymenovať hlavné kategórie softvéru - operačné systémy, prekladače, aplikačné softvérové ​​balíky, teraz sa situácia radikálne zmenila. Vývoj softvéru išiel do hĺbky (objavili sa nové prístupy k budovaniu operačných systémov, programovacích jazykov atď.), ako aj do šírky (aplikačné programy sa prestali uplatňovať a nadobudli samostatnú hodnotu). Vzťah medzi požadovanými softvérovými produktmi a produktmi dostupnými na trhu sa veľmi rýchlo mení. Aj klasické softvérové ​​produkty, ako sú operačné systémy, sa neustále vyvíjajú a sú obdarené inteligentnými funkciami, z ktorých mnohé sa predtým týkali len intelektuálnych schopností človeka.

2. Nástrojový softvér

2.1 Podstata a koncepcia softvérových nástrojov

Inštrumentálny softvér (IPO) je softvér určený na použitie pri navrhovaní, vývoji a údržbe programov.

Nástroje sa používajú vo fáze vývoja. Nástrojový softvér je súbor programov používaných na pomoc programátorom v ich práci, na pomoc manažérom vývoja softvéru v ich úsilí kontrolovať proces vývoja a výsledné produkty. Najznámejšími predstaviteľmi tejto časti softvéru sú prekladateľské programy z programovacích jazykov, ktoré pomáhajú programátorom písať strojové príkazy. Inštrumentálne programy sú prekladatelia z jazykov Fortran, Cobol, Joe-vial, BASIC, APL a Pascal. Uľahčujú proces tvorby nových pracovných programov. Jazykové prekladače sú však len najznámejšou časťou inštrumentálnych programov; je ich veľmi veľa.

Používanie počítačov na vytváranie nových programov nie je ani zďaleka samozrejmosťou pre ľudí, ktorí nie sú profesionálnymi programátormi. Často sa stáva, že profesionáli hovoria o nástroji (fáza vývoja) a systémovom (fáza používania) softvéri jedným dychom, pričom predpokladajú, že tí, ktorí nie sú zasvätení do tajomstiev svojho remesla, sú si vedomí tejto úlohy softvérového nástroja. Rovnako ako vo fáze používania (pre aplikačné programy), systémový softvér funguje aj vo fáze vývoja, ale iba v spojení s nástrojmi. Nástrojový softvér alebo programovacie systémy sú systémy na automatizáciu vývoja nových programov v programovacom jazyku.

V najvšeobecnejšom prípade na vytvorenie programu vo vybranom programovacom jazyku (systémovom programovacom jazyku) potrebujete mať nasledujúce komponenty:

1. Textový editor na vytvorenie súboru so zdrojovým textom programu.

2. Kompilátor alebo interpret. Zdrojový text je preložený do stredného objektového kódu pomocou kompilačného programu. Zdrojový kód veľkého programu pozostáva z niekoľkých modulov (zdrojových súborov). Každý modul je zostavený do samostatného súboru s objektovým kódom, ktorý sa potom musí spojiť do jedného.

3. Link editor alebo assembler, ktorý spája objektové moduly a vytvára funkčnú aplikáciu ako výstup – spustiteľný kód.

Spustiteľný kód je úplný program, ktorý je možné spustiť na akomkoľvek počítači s operačným systémom, pre ktorý bol program vytvorený. Výsledný súbor má spravidla príponu .EXE alebo .COM.

V poslednej dobe sa rozšírili metódy vizuálneho programovania (pomocou skriptovacích jazykov) zamerané na vytváranie aplikácií pre Windows. Tento proces je automatizovaný v prostredí rýchleho návrhu. V tomto prípade sa používajú hotové vizuálne komponenty, ktoré sa konfigurujú pomocou špeciálnych editorov.

Najpopulárnejšie editory (programovacie systémy využívajúce vizuálne nástroje) pre vizuálny dizajn:

1) Borland Delphi - navrhnutý tak, aby vyriešil takmer akýkoľvek problém s programovaním aplikácií.

2) Borland C++ Builder je vynikajúci nástroj na vývoj aplikácií pre DOS a Windows.

3) Microsoft Visual Basic je populárny nástroj na vytváranie programov Windows.

4) Microsoft Visual C++ – tento nástroj vám umožňuje vyvíjať ľubovoľné aplikácie bežiace v prostredí OS, ako je Microsoft Windows

Podstatou inštrumentálneho softvéru je teda vytvorenie ľubovoľného spustiteľného programu prevedením formálnych logických výrazov na spustiteľný strojový kód, ako aj jeho ovládanie a úprava.

2.2 Úlohy a funkcie softvéru nástroja

Inštrumentálny softvér, ako špeciálny typ softvéru, sa vyznačuje všeobecným a súkromným

funkcie, ako pre všetok softvér vo všeobecnosti. Všeobecné funkcie sú diskutované vyššie a špecializované funkcie vlastné iba tomuto typu programu sú:

1. Vytvorenie textu vyvíjaného programu pomocou špeciálne vytvorených kódových slov (programovací jazyk), ako aj určitého súboru znakov a ich umiestnenia vo vytvorenom súbore - syntax programu.

2. Preklad textu vytvoreného programu do strojovo orientovaného kódu, prístupného pre počítačové rozpoznanie. Ak je objem vytvoreného programu významný, je rozdelený do samostatných modulov a každý z modulov je preložený samostatne.

3. Spájanie jednotlivých modulov do jedného spustiteľného kódu, pri dodržaní potrebnej štruktúry, zabezpečujúcej koordináciu interakcie jednotlivých častí medzi sebou.

4. Testovanie a monitorovanie vytvoreného programu, identifikácia a odstraňovanie formálnych, logických a syntaktických chýb, kontrola programov na prítomnosť zakázaných kódov, ako aj hodnotenie výkonu a potenciálu vytvoreného programu.

2.3 Typy softvérových nástrojov

Na základe úloh priradených inštrumentálnemu softvéru môžeme rozlíšiť veľké množstvo rôznych typov inštrumentálneho softvéru:

1) Textové editory

2) Integrované vývojové prostredia

4) Kompilátory

5) Tlmočníci

6) Linkery

7) Analyzátory a generátory syntaktických analyzátorov (pozri Javacc)

8) Montéri

9) Debuggery

10) Profilátori

11) Generátory dokumentácie

12) Nástroje analýzy pokrytia kódu

13) Nástroje kontinuálnej integrácie

14) Automatizované testovacie nástroje

15) Systémy kontroly verzií atď.

Je potrebné poznamenať, že shelly na vytváranie aplikačných programov sú tiež vytvárané nástrojovými programami, a preto ich možno klasifikovať ako aplikačné programy. Pozrime sa stručne na účely niektorých inštrumentálnych programov.

Textové editory.

Textový editor je počítačový program určený na spracovanie textových súborov, ako je vytváranie a vykonávanie zmien.

Typy textových editorov.

Bežne existujú dva typy editorov: streamingové textové editory a interaktívne.

Prúdové textové editory sú počítačové programy, ktoré sú navrhnuté tak, aby automaticky spracovávali vstupné textové údaje prijaté z textového súboru v súlade s pravidlami vopred definovanými používateľmi. Najčastejšie sú pravidlá regulárne výrazy v dialekte špecifickom pre daný textový editor. Príkladom takéhoto textového editora je editor Sed.

Interaktívne textové editory sú rodinou počítačových programov navrhnutých na interaktívne vykonávanie zmien v textovom súbore. Takéto programy vám umožňujú zobraziť aktuálny stav textových údajov v súbore a vykonávať s ním rôzne akcie.

Interaktívne textové editory často obsahujú významnú dodatočnú funkcionalitu určenú na automatizáciu časti úprav alebo na zmenu zobrazenia textových údajov v závislosti od ich sémantiky. Príkladom posledného typu funkčnosti je zvýraznenie syntaxe.

Textové editory sú určené na vytváranie a úpravu textových dokumentov. Najbežnejšie sú MS WORD, Lexicon. Hlavné funkcie textových editorov sú:

1) práca s fragmentmi dokumentov,

2) vkladanie objektov vytvorených v iných programoch

3) rozdelenie textu dokumentu na strany

4) zadávanie a úprava tabuliek

5) zadávanie a úprava vzorcov

6) formátovanie odsekov

7) automatické vytváranie zoznamov

8) automatické vytvorenie obsahu.

Známe sú desiatky textových editorov. Najdostupnejšie sú NOTEPAD (notepad), WORDPAD, WORD. Činnosť konkrétneho textového editora je zvyčajne určená funkciami, ktorých účel sa odráža v položkách menu a v systéme pomoci.

Integrované vývojové prostredie

Integrované vývojové prostredie, ISD, je softvérový systém používaný programátormi na vývoj softvéru. Vývojové prostredie zvyčajne obsahuje:

1) textový editor

2) kompilátor a/alebo interpret

3) nástroje na automatizáciu montáže

4) debugger.

Niekedy obsahuje aj nástroje na integráciu so systémami správy verzií a rôzne nástroje na zjednodušenie návrhu grafického používateľského rozhrania. Mnohé moderné vývojové prostredia obsahujú aj prehliadač tried, inšpektor objektov a diagram hierarchie tried na použitie pri objektovo orientovanom vývoji softvéru. Aj keď existujú vývojové prostredia určené pre viacero programovacích jazykov – napríklad Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator alebo Microsoft Visual Studio, väčšinou je vývojové prostredie určené pre jeden konkrétny programovací jazyk – napríklad Visual Basic, Delphi, Dev. -C++.

Špeciálnym prípadom ISR je vizuálne vývojové prostredie, ktoré zahŕňa možnosť vizuálnej úpravy rozhrania programu.

SDK.

SDK (z anglického SoftwareDevelopmentKit) alebo „devkit“ je vývojová súprava, ktorá umožňuje softvérovým špecialistom vytvárať aplikácie pre konkrétny softvérový balík, základný vývojový softvér, hardvérovú platformu, počítačový systém, videoherné konzoly, operačné systémy a ďalšie platformy.

Programátor spravidla dostáva SDK priamo od vývojára cieľovej technológie alebo systému. Súprava SDK sa často distribuuje cez internet. Mnohé súpravy SDK sa distribuujú bezplatne, aby povzbudili vývojárov, aby používali danú technológiu alebo platformu.

Dodávatelia SDK niekedy nahrádzajú termín Software v Software Development Kit presnejším slovom. Napríklad Microsoft a Apple poskytujú súpravy Driver Development Kit (DDK) na vývoj ovládačov zariadení a PalmSource nazýva svoju súpravu nástrojov pre vývoj PalmOS Development Kit (PDK).

Príklady SDK :

5) Java Development Kit

6) Opera Devices SDK

Kompilátory.

Kompilátor -

1) Program alebo technický nástroj, ktorý vykonáva kompiláciu.

2) Program stroja použitý na kompiláciu.

3) Prekladač, ktorý konvertuje program napísaný v zdrojovom jazyku na objektový modul.

4) Program, ktorý prekladá text programu v jazyku vysokej úrovne do ekvivalentného programu v strojovom jazyku.

5) Program určený na preklad jazyka na vysokej úrovni do absolútneho kódu alebo niekedy do jazyka symbolických inštancií. Vstupnou informáciou pre kompilátor (zdrojový kód) je popis algoritmu alebo programu v problémovo orientovanom jazyku a výstupom kompilátora je ekvivalentný popis algoritmu v strojovo orientovanom jazyku (objektový kód).

Kompilácia -

1) Preklad programu do jazyka blízkeho strojovému jazyku.

2) Preklad programu napísaného v zdrojovom jazyku do objektového modulu. Vykonáva kompilátor.

Kompilovať – preložiť strojový program z problémovo orientovaného jazyka do strojovo orientovaného jazyka.

Typy kompilátorov :

1) Vektorizácia. Prekladá zdrojový kód do strojového kódu na počítačoch vybavených vektorovým procesorom.

2) Flexibilné. Modulárne, riadené tabuľkami a naprogramované v jazyku vysokej úrovne alebo implementované pomocou kompilátora kompilátorov.

3) Dialóg.

4) Prírastkové. Opätovne prenesie fragmenty programu a jeho dodatky bez opätovného skompilovania celého programu.

5) Výkladový (krok za krokom). Postupne vykonáva nezávislú kompiláciu každého jednotlivého príkazu (príkazu) zdrojového programu.

6) Kompilátor kompilátorov. Prekladač, ktorý akceptuje formálny popis programovacieho jazyka a generuje kompilátor pre tento jazyk.

7) Ladenie. Odstraňuje určité typy syntaktických chýb.

8) Obyvateľ. Trvalo žije v hlavnej pamäti a je k dispozícii na opätovné použitie pri mnohých úlohách.

9) Vlastné zostavenie. Napísané v rovnakom jazyku, z ktorého sa vysiela.

10) Univerzálny. Na základe formálneho popisu syntaxe a sémantiky vstupného jazyka. Komponenty takéhoto kompilátora sú: jadro, syntaktické a sémantické zavádzače.

Typy kompilácie :

1) Dávka. Kompilácia viacerých zdrojových modulov do jednej úlohy.

2) Riadok po riadku.

3) Podmienené. Kompilácia, v ktorej preložený text závisí od podmienok špecifikovaných v zdrojovom programe. Takže v závislosti od hodnoty určitej konštanty môžete zapnúť alebo vypnúť preklad časti textu programu.

Štruktúra kompilátora.

Proces kompilácie pozostáva z nasledujúcich krokov:

1) Lexikálna analýza. V tejto fáze sa postupnosť znakov v zdrojovom súbore skonvertuje na postupnosť tokenov.

2) Syntaktická (gramatická) analýza. Postupnosť tokenov sa prevedie na strom analýzy.

3) Sémantická analýza. Syntaktický strom sa spracuje na stanovenie jeho sémantiky (významu) - napríklad naviazanie identifikátorov na ich deklarácie, typy, kontrola kompatibility, určenie typov výrazov atď. strom analýzy, nový strom, abstraktná sada príkazov alebo niečo iné vhodné na ďalšie spracovanie.

4) Optimalizácia. Odstránenie nepotrebných štruktúr a zjednodušenie kódu pri zachovaní jeho významu. Optimalizácia môže byť na rôznych úrovniach a fázach – napríklad na medzikóde alebo na konečnom strojovom kóde.

5) Generovanie kódu. Zo strednej reprezentácie sa vygeneruje kód v cieľovom jazyku.

V špecifických implementáciách kompilátora môžu byť tieto stupne oddelené alebo kombinované v jednej alebo druhej forme.

Vysielanie a postprodukcia.

Dôležitou historickou črtou kompilátora, premietnutou do jeho názvu (anglicky: kompilovať - ​​dať dohromady, skladať), bolo, že vedel vykonávať aj linkovanie (to znamená, že obsahoval dve časti - prekladač a linker). Je to spôsobené tým, že samostatná kompilácia a prepojenie ako samostatná fáza zostavovania sa objavili oveľa neskôr ako nástup kompilátorov. V tejto súvislosti sa namiesto termínu „prekladač“ niekedy ako synonymum používa termín „prekladač“: buď v starej literatúre, alebo keď chcú zdôrazniť jeho schopnosť preložiť program do strojového kódu (a naopak, výraz „kompilátor“ sa používa na zdôraznenie schopnosti kompilovať z mnohých súborov jeden).

Tlmočníci.

Tlmočník (programovací jazyk) -

1) Program alebo technický nástroj, ktorý vykonáva interpretáciu.

2) Typ prekladača, ktorý vykonáva spracovanie príkazu po príkaze (príkaz po príkaze) a spustenie zdrojového programu alebo dotazu (na rozdiel od kompilátora, ktorý preloží celý program bez jeho spustenia).

3) Program (niekedy hardvér), ktorý analyzuje príkazy alebo príkazy programu a okamžite ich vykonáva.

4) Jazykový procesor, ktorý analyzuje zdrojový program riadok po riadku a súčasne vykonáva predpísané akcie, namiesto toho, aby generoval skompilovaný program v strojovom jazyku, ktorý sa následne vykoná.

Typy tlmočníkov.

Jednoduchý tlmočník analyzuje a okamžite vykoná (skutočnú interpretáciu) program príkaz po príkaze (alebo riadok po riadku), keď jeho zdrojový kód príde na vstup tlmočníka. Výhodou tohto prístupu je okamžitá odozva. Nevýhodou je, že takýto interpret zistí chyby v texte programu až pri pokuse o vykonanie príkazu (alebo riadku) s chybou.

Prekladač typu kompilátor je systém pozostávajúci z kompilátora, ktorý prekladá zdrojový kód programu do prechodnej reprezentácie, napríklad do bajtkódu alebo p-kódu, a zo samotného interpreta, ktorý vykonáva výsledný medzikód (tzv. nazývaný virtuálny stroj). Výhodou takýchto systémov je väčšia rýchlosť vykonávania programu (kvôli odstráneniu analýzy zdrojového kódu do samostatného, ​​jednorazového prechodu a minimalizácii tejto analýzy v interpretači). Nevýhodou je väčšia náročnosť na zdroje a požiadavka na správnosť zdrojového kódu. Používa sa v jazykoch ako Java, PHP, Python, Perl (používa sa bytecode), REXX (uloží sa výsledok analýzy zdrojového kódu), ako aj v rôznych DBMS (používa sa p-kód).

Ak je tlmočník typu kompilátora rozdelený na komponenty, výsledkom je kompilátor jazyka a jednoduchý tlmočník s minimálnou analýzou zdrojového kódu. Navyše, zdrojový kód takéhoto tlmočníka nemusí byť v textovom formáte alebo bajtkód, ktorému rozumie iba tento tlmočník, môže to byť strojový kód niektorej existujúcej hardvérovej platformy. Napríklad virtuálne stroje ako QEMU, Bochs, VMware obsahujú tlmočníky strojového kódu pre procesory rodiny x86.

Niektorí tlmočníci (napríklad pre jazyky Lisp, Scheme, Python, BASIC a ďalšie) môžu pracovať v dialógovom režime alebo v takzvanom read-eval-printloop (REPL). V tomto režime tlmočník načíta kompletnú jazykovú konštrukciu (napríklad s-výraz v Lispe), vykoná ju, vytlačí výsledky a potom pokračuje v čakaní, kým používateľ zadá ďalšiu konštrukciu.

Jedinečný je jazyk Forth, ktorý je schopný pracovať v režime interpretácie aj kompilácie vstupných údajov, čo vám umožňuje kedykoľvek prepínať medzi týmito režimami, a to ako počas prekladu zdrojového kódu, tak aj počas spustenia programov.

Treba tiež poznamenať, že interpretačné režimy možno nájsť nielen v softvéri, ale aj v hardvéri. Mnoho mikroprocesorov teda interpretuje strojový kód pomocou vstavaného firmvéru a procesory rodiny x86, počnúc Pentiom (napríklad na architektúre Intel P6), počas vykonávania strojového kódu ho vopred prekladajú do interného formátu. (do sledu mikrooperácií).

Algoritmus pre jednoduchý tlmočník :

2. analyzovať pokyny a určiť vhodné opatrenia;

3. prijať vhodné opatrenia;

4. Ak sa nedosiahne podmienka ukončenia programu, prečítajte si nasledujúce pokyny a prejdite na krok 2.

Výhody a nevýhody tlmočníkov.

1) Väčšia prenosnosť interpretovaných programov – program pobeží na akejkoľvek platforme, ktorá má vhodný interpret.

2) Spravidla pokročilejšie a vizuálne prostriedky na diagnostiku chýb v zdrojových kódoch.

3) Zjednodušenie ladenia zdrojových kódov programu.

4) Menšie veľkosti kódu v porovnaní so strojovým kódom získaným z konvenčných kompilátorov.

1) Interpretovaný program nemôže byť spustený samostatne bez tlmočníckeho programu. Samotný tlmočník môže byť veľmi kompaktný.

2) Interpretovaný program beží pomalšie, pretože medzianalýza zdrojového kódu a plánovanie jeho spustenia si vyžaduje dodatočný čas v porovnaní s priamym spustením strojového kódu, do ktorého by sa zdrojový kód dal skompilovať.

3) Prakticky nedochádza k optimalizácii kódu, čo vedie k ďalším stratám v rýchlosti interpretovaných programov.

Linker.

Linker (tiež link editor, linker) – program, ktorý vykonáva linkovanie – berie ako vstup jeden alebo viac objektových modulov a zostavuje z nich spustiteľný modul.

Na prepojenie modulov linker používa tabuľky názvov vytvorené kompilátorom v každom z objektových modulov. Takéto mená môžu byť dvoch typov:

1) Definované alebo exportované názvy - funkcie a premenné definované v danom module a sprístupnené na použitie inými modulmi.

2) Nedefinované alebo importované názvy – funkcie a premenné, na ktoré sa modul odkazuje, no interne ich nedefinuje.

Úlohou linkera je vyriešiť odkazy na nedefinované názvy v každom module. Pre každý importovaný názov sa jeho definícia nachádza v iných moduloch, uvedenie názvu je nahradené jeho adresou.

Linker vo všeobecnosti nekontroluje typy a počet parametrov procedúr a funkcií. Ak potrebujete skombinovať objektové moduly programov napísaných v jazykoch so silným písaním, potom je potrebné pred spustením editora odkazov vykonať potrebné kontroly pomocou ďalšieho nástroja.

Assembler.

Assembler (z anglického assembler - assembler) je počítačový program, prekladač zdrojového textu programu napísaného v jazyku symbolických inštancií do programu v strojovom jazyku.

Podobne ako samotný (assembly) jazyk, aj assemblery sú zvyčajne špecifické pre konkrétnu architektúru, operačný systém a variant syntaxe jazyka. Zároveň existujú multiplatformové alebo dokonca univerzálne (presnejšie obmedzené univerzálne, pretože je nemožné písať hardvérovo nezávislé programy v nízkoúrovňovom jazyku) assemblery, ktoré môžu bežať na rôznych platformách a operačných systémoch. Medzi poslednými možno tiež rozlíšiť skupinu cross-assemblerov schopných zhromažďovať strojový kód a spustiteľné moduly (súbory) pre iné architektúry a operačné systémy.

Montáž nemusí byť prvým ani posledným krokom na ceste k získaniu modulu spustiteľného programu. Mnoho kompilátorov z programovacích jazykov na vysokej úrovni teda vytvára výsledok vo forme programu v assembleri, ktorý je ďalej spracovávaný assemblerom. Výsledkom zostavenia tiež nemusí byť spustiteľný súbor, ale objektový modul obsahujúci rôzne a nesúvisiace časti strojového kódu a programových dát, z ktorých (alebo z niekoľkých objektových modulov) možno neskôr zostaviť pomocou programu linker („linker“). spustiteľný súbor.

Debugger alebo debugger je modul vývojového prostredia alebo samostatná aplikácia určená na vyhľadávanie chýb v programe. Ladiaci nástroj vám umožňuje vykonávať krok za krokom sledovanie, monitorovať, nastavovať alebo meniť hodnoty premenných počas vykonávania programu, nastavovať a odstraňovať body prerušenia alebo podmienky zastavenia atď.

Zoznam debuggerov.

1) AQtime je komerčný debugger pre aplikácie vytvorené pre .NET Framework verzie 1.0, 1.1, 2.0, 3.0, 3.5 (vrátane aplikácií ASP.NET), ako aj pre Windows 32- a 64-bitové aplikácie.

2) DTrace - rámec dynamického sledovania pre Solaris, OpenSolaris, FreeBSD, Mac OS X a QNX.

3) Electric Fence - pamäťový debugger.

4) GNU Debugger (GDB) - programový debugger z projektu GNU.

5) IDA je výkonný disassembler a nízkoúrovňový debugger pre operačné systémy Windows a Linux.

6) Microsoft Visual Studio – vývojové prostredie softvéru, ktoré obsahuje nástroje na ladenie od spoločnosti Microsoft.

7) OllyDbg je bezplatný nízkoúrovňový debugger pre operačné systémy Windows.

8) SoftICE je nízkoúrovňový debugger pre operačné systémy rodiny Windows.

9) Sun Studio – vývojové prostredie softvéru vrátane ladiaceho nástroja dbx pre OS Solaris a Linux od spoločnosti Sun Microsystems Corporation.

10) Dr. Watson je štandardný debugger systému Windows, ktorý vám umožňuje vytvárať výpisy pamäte.

11) TotalView je jedným z komerčných debuggerov pre UNIX.

12) WinDbg je bezplatný debugger od spoločnosti Microsoft.

Generátor dokumentácie je program alebo softvérový balík, ktorý umožňuje získať dokumentáciu určenú pre programátorov (dokumentácia API) a/alebo pre koncových používateľov systému pre špeciálne komentovaný zdrojový kód a v niektorých prípadoch aj pre spustiteľné moduly (získané na výstupe kompilátora).

Generátor zvyčajne analyzuje zdrojový kód programu, pričom zvýrazňuje syntaktické štruktúry zodpovedajúce významným objektom programu (typy, triedy a ich členovia/vlastnosti/metódy, procedúry/funkcie atď.). Analýza využíva aj metainformácie o objektoch programu, prezentované vo forme dokumentujúcich komentárov. Na základe všetkých zozbieraných informácií sa vygeneruje hotová dokumentácia, zvyčajne v niektorom zo všeobecne akceptovaných formátov – HTML, HTMLHelp, PDF, RTF a iné.

Dokumentácia komentárov.

Dokumentačný komentár je špeciálne naformátovaný komentár k objektu programu určený na použitie špecifickým generátorom dokumentácie. Syntax konštrukcií použitých pri dokumentovaní komentárov závisí od toho, ktorý generátor dokumentácie sa použije.

Dokumentačné komentáre môžu obsahovať informácie o autorovi kódu, popisovať účel objektu programu, význam vstupných a výstupných parametrov pre funkciu/postup, príklady použitia, možné výnimočné situácie a implementačné vlastnosti.

Dokumentačné komentáre sú zvyčajne formátované ako viacriadkové komentáre v štýle C. V každom prípade sa komentár musí objaviť pred dokumentovaným prvkom. Prvý znak v komentári (a na začiatku riadkov komentára) musí byť *. Bloky sú oddelené prázdnymi riadkami.

3. Visual Basic for Applications

softvérový operačný systém

3.1 Podstata VisualBasic a jeho stručná história

Microsoft Visual Basic (VB) je nástroj na vývoj softvéru vyvinutý spoločnosťou Microsoft Corporation, ktorý obsahuje programovací jazyk a vývojové prostredie. Jazyk Visual Basic zdedil ducha, štýl a čiastočne aj syntax svojho predka – jazyka BASIC, ktorý má mnoho dialektov. Visual Basic zároveň spája postupy a prvky objektovo orientovaných a komponentovo orientovaných programovacích jazykov. Vývojové prostredie VB obsahuje nástroje na vizuálne navrhovanie používateľských rozhraní. (pozri tabuľku).

Visual Basic (kľúčové funkcie)

Visual Basic sa považuje za dobrý nástroj na rýchly vývoj prototypov programov, na vývoj databázových aplikácií a vo všeobecnosti za komponentovú metódu vytvárania programov bežiacich pod operačnými systémami rodiny Microsoft Windows.

V procese evolúcie prešiel Visual Basic niekoľkými postupnými fázami, ktoré mu umožnili stať sa jedným z najpopulárnejších programovacích jazykov súčasnosti. Takže evolúcia VisualBasic išiel nasledujúcim spôsobom:

1. Máj 1991 - Visual Basic 1.0 bol vydaný pre Microsoft Windows. Za základ jazyka bola vzatá syntax QBasic a inováciou, ktorá neskôr priniesla jazyku obrovskú popularitu, bol princíp prepojenia jazyka a grafického rozhrania.

2. September 1992 - Vyšiel Visual Basic 1.0 pre DOS. Nebola plne kompatibilná s verziou VB pre Windows, pretože to bola nasledujúca verzia QuickBASIC a bežala v režime obrazovky založenom na texte.

3. November 1992 – vydaný Visual Basic 2.0. Vývojové prostredie sa stalo jednoduchším a rýchlejším.

4. v lete 1993 - Visual Basic 3.0 bol vydaný vo verziách Standard a Professional. Do balíka navyše pribudol engine pre prácu s databázami Accessu.

5. August 1995 – Visual Basic 4.0 – verzia, ktorá dokázala vytvárať 32 aj 16-bitové programy Windows.

6. Február 1997 - Visual Basic 5.0 - počnúc touto verziou bolo možné spolu s bežnými aplikáciami vyvíjať komponenty COM.

7. V polovici roku 1998 bol vydaný Visual Basic 6.0. Potom Microsoft dramaticky zmenil svoju politiku týkajúcu sa základných jazykov. Namiesto vývoja Visual Basicu vznikol úplne nový jazyk Visual Basic .NET.

8. V roku 2005 bola vydaná nová verzia Visual Basic, pribalená k Visual Studiu. Potešila ju nové rozhranie a možnosti. Jazyk je založený na Visual Basic.NET.

9. Koncom roka 2007 Microsoft vydal novú verziu Visual Basicu – Visual Basic 2008, ktorá bola tiež založená na Visual Basic.NET.

Na základe funkčnosti a špecifík aplikácie možno rozlíšiť nasledujúce typy tohto programu:

1. Klasický Visual Basic (verzie 5-6) Tento jazyk je veľmi úzko spätý s vývojovým prostredím a operačným systémom Windows, pretože je výlučne nástrojom na písanie aplikácií pre Windows

2. VisualBasicforApplications (VBA) Ide o programovací nástroj, prakticky sa nelíši od klasického Visual Basicu, ktorý je určený na písanie makier a iných aplikačných programov pre špecifické aplikácie. Najväčšiu obľubu si získal vďaka použitiu v balíku Microsoft Office. Široké používanie jazyka Visual Basic for Applications v kombinácii s počiatočným nedostatkom pozornosti venovaným otázkam bezpečnosti viedlo k širokému používaniu makrovírusov.

3. VisualBasicScriptingEdition (VBScript) Skriptovací jazyk, ktorý je trochu skrátenou verziou bežného jazyka Visual Basic. Používa sa predovšetkým na automatizáciu správy systémov Windows, ako aj na vytváranie stránok ASP a skriptov pre Internet Explorer.

3.2 Rozhranie VisualBasicforApplication, hlavné funkcie a možnosti

Vytvorením VisualBasicforApplication si spoločnosť Microsoft Corporation stanovila za hlavný cieľ vytvorenie nástrojov, ktoré sú prístupné používateľom, ktorí nie sú profesionálnymi programátormi, no zároveň majú dostatočnú kvalifikáciu na vývoj a navrhovanie aplikačných programov a aplikácií založených na Microsoft Office. Práve na vyriešenie tohto problému vývojári vytvorili VBA a vybavili ho množstvom jedinečných funkcií. Jednou z nich, pre používateľa najcennejšou, je možnosť vytvárať a používať neštandardné (vlastné) dialógové okná v programoch pridaním objektu UserForm do projektu, ako aj pohodlné používateľské rozhranie.

Rozhranie programu VisualBasicforApplication pozostáva zo sady rôznych okien a kariet používaných pri navrhovaní vytváranej aplikácie, z ktorých hlavné sú:

1) Okno projektu (obr. 2), zobrazujúce štruktúru vytvoreného projektu.

2) okno Program Code (Obr. 3), zobrazujúce programový kód vytvoreného projektu a umožňujúce napísať program klasickým spôsobom pomocou vstavaného editora kódových slov, ktorých je viac ako 16 tis. VBA. Toto okno vám tiež umožňuje upravovať kód a kontrolovať chyby.

3) záložka Vlastnosti (obr. 4), ktorá zobrazuje parametre nastavené pre špecifikovaný objekt a umožňuje meniť špecifikované nastavenia.

Pohybom medzi oknami a kartami môže používateľ jednoducho prispôsobiť vytvorený projekt.

Pomocou formulárov vytvorených používateľom VBA môžete vytvárať vlastné dialógové okná na zobrazovanie údajov alebo prijímanie hodnôt od používateľa programu spôsobom, ktorý najlepšie vyhovuje potrebám programu. Môžete napríklad vytvoriť test, zobraziť dialógové okno na zobrazenie otázok s možnosťou výberu z viacerých odpovedí a umožniť používateľovi vybrať jednu z možností odpovede, o ktorej sa domnieva, že je správna.

Neštandardné dialógové okná umožňujú programu interakciu s užívateľom tým najkomplexnejším spôsobom a poskytujú rôznu formu vstupu a výstupu dát.

Vlastné dialógové okno sa vytvorí vo VBA pridaním objektu UserForm do projektu. Tento objekt predstavuje prázdne dialógové okno; má záhlavie a tlačidlo zatvorenia, ale chýbajú mu akékoľvek iné ovládacie prvky. Vlastné dialógové okno sa vytvorí pridaním ovládacích prvkov do objektu UserForm a zvyčajne sa jednoducho nazýva formulár (obrázok 5).

Každý objekt UserForm má vlastnosti, metódy a udalosti, ktoré zdedí z triedy objektov UserForm.

Každý objekt UserForm obsahuje aj modul triedy, do ktorého používateľ pridáva vlastné metódy a vlastnosti alebo zapisuje procedúry spracovania udalostí pre daný formulár.

Možnosť vytvorenia vlastného rozhrania, nezávislého od prostredia aplikácie, ako je Excel, pomocou zobrazovacích formulárov je jednou z najcennejších funkcií vo VBA.

Obrazovkové formuláre sú okná rôznych účelov a typov vytvorené používateľom pre svoju aplikáciu. Obsahujú ovládacie prvky, ktoré umožňujú používateľovi vymieňať si informácie s aplikáciou.

VBA používa vytvorený grafický návrh formulára - s nastavením vlastností formulára a ovládacích prvkov - na získanie všetkých informácií potrebných na zobrazenie dialógového okna: rozmery dialógového okna, ovládacie prvky v ňom atď. Výsledkom je, že VBA vám umožňuje zobraziť formulár dialógového okna s jedným príkazom.

Ak chcete zobraziť vlastné dialógové okno, použite metódu Zobraziť objektu UserForm. Ak formulár práve nie je načítaný v pamäti, metóda Show načíta formulár a zobrazí ho. Ak je formulár už načítaný, metóda Show ho jednoducho zobrazí.

Zobrazenie jedného dialógového okna zvyčajne nestačí na dokončenie úlohy. Takmer vždy chcete zistiť stav ovládacích prvkov dialógového okna, aby ste zistili, aké údaje alebo možnosti používateľ vybral. Ak sa napríklad dialógové okno používa na získanie informácií od používateľa o tom, podľa ktorých stĺpcov a riadkov má byť pracovný hárok zoradený, musíte byť schopní zistiť, aké hodnoty používateľ zadal po zatvorení dialógového okna a pred objednávková operácia skutočne začína.

V iných prípadoch možno budete chcieť dynamicky zmeniť názvy tlačidiel (alebo iných ovládacích prvkov) v dialógovom okne, dynamicky aktualizovať označenie alebo pole spojené s počítadlom alebo dynamicky overiť údaje zadané do dialógového okna.

Vo VBA je možné výrazne rozšíriť sadu funkcií zabudovaných do štandardnej aplikácie, ako je Microsoft Excel, ako aj vytvárať funkcie, ktorých hodnoty závisia od určitých podmienok a udalostí.

VBA vám umožňuje programovať funkcie tabuliek. Ak chcete vytvoriť samostatný pracovný hárok pre programový modul, použite kartu Vložiť modul z ponuky Vizuálne a príkaz Modul z ponuky Vložiť makro. Potom sa objaví nový pracovný hárok „Modele1“. V programovom module potrebujete opísať funkciu vo VBA. V okne programového modulu môžete pracovať, ako keby ste boli v malom okne textového editora.

Vkladanie funkcií sa vykonáva príkazom Prehliadač objektov z ponuky Zobraziť. Funkcie definované používateľom sa v programe považujú za nezávislé objekty. VBA má významnú sadu vstavaných funkcií, ktoré ich rozdeľujú do typov.

Visual Basic vám umožňuje rezervovať premenné s veľkosťou alebo bez nej, pracovať s rôznymi typmi údajov, používať konštanty, pracovať s matematickými operátormi a funkciami a používať ďalšie operátory. Poskytuje sa použitie operátorov slučky For Next, Do a objektov typu „časovač“ (neviditeľné stopky v programe). Presnosť nastavenia času v programe je 1 milisekunda, alebo 1/1000 sec. Spustený časovač neustále beží – t.j. zodpovedajúca procedúra spracovania prerušenia sa vykonáva v určenom časovom intervale - kým užívateľ nezastaví časovač alebo nevypne program.

Vo VBA môžete nastaviť ľubovoľnú vlastnosť formulára vrátane názvu, veľkosti, typu orámovania, farieb pozadia a znakov, písma textu a obrázka na pozadí.

Ak zhrnieme všetky funkcie programu, Visual Basic forApplication vám umožňuje:

1) práca s ovládacími prvkami

Výhody :

1. Vysoká rýchlosť tvorby aplikácií s grafickým rozhraním pre MS Windows.

2. Jednoduchá syntax, ktorá vám umožní veľmi rýchlo zvládnuť jazyk.

3. Možnosť kompilácie do strojového kódu aj do P-kódu (podľa výberu programátora). V režime ladenia je program vždy (bez ohľadu na výber) skompilovaný do kódu P, čo vám umožňuje pozastaviť program, vykonať významné zmeny v zdrojovom kóde a potom pokračovať vo vykonávaní bez potreby úplnej rekompilácie a reštartu programu. .

4. Ochrana pred chybami spojenými s používaním ukazovateľov a prístupom do pamäte. Tento aspekt robí aplikácie Visual Basic stabilnejšími, ale je tiež predmetom kritiky.

5. Možnosť využívať väčšinu funkcií WinAPI na rozšírenie funkcionality aplikácie. Túto problematiku najviac študoval Dan Appleman, ktorý napísal knihu „Visual Basic Programmer's Guide to the Win32 API“.

Kritika :

1. Aspekty Visual Basicu sú často kritizované, ako napríklad schopnosť zakázať sledovanie deklarovaných premenných, schopnosť implicitne konvertovať premenné a prítomnosť dátového typu „Variant“. Podľa kritikov to umožňuje písať extrémne zlý kód. Na druhej strane to možno považovať za plus, keďže VB nevnucuje „dobrý štýl“, ale dáva väčšiu slobodu programátorovi.

2. Nedostatok ukazovateľov, nízkoúrovňový prístup k pamäti, vložky ASM. Napriek tomu, že paradigma Visual Basic umožňuje bežnému VB programátorovi zaobísť sa bez toho všetkého, aj tieto veci sa často stávajú predmetom kritiky. A hoci pomocou nezdokumentovaných funkcií a určitých trikov sa to všetko dá implementovať vo VB (napríklad pomocou funkcií na získanie ukazovateľov VarPtr(), StrPtr() a ObjPtr()); Používanie týchto trikov je oveľa náročnejšie ako napríklad v C++.

Je však potrebné poznamenať, že všetky nevýhody jazyka vyplývajú z jeho hlavnej výhody - jednoduchosti vývoja grafického rozhrania. Preto mnoho programátorov používa Visual Basic na vývoj používateľského rozhrania a implementuje funkčnosť programu vo forme dynamických knižníc (DLL) napísaných v inom jazyku (najčastejšie C++).

4. Praktická časť

4.1 Vyhlásenie o probléme

Nakreslite blokovú schému a napíšte program v jazyku Pascal. Vypočítajte vnútornú hodnotu cenných papierov. Vnútorná hodnota aktíva je určená budúcim tokom príjmu z tohto aktíva.

pv – aktuálna vnútorná hodnota akcie

c – očakávaný príjem z predmetného majetku

r – miera výnosu očakávaná investorom pre príjem so zodpovedajúcou úrovňou rizika

n – časový faktor (v mesiacoch).

Vykonajte analýzu trhu a zoraďte výsledky vo vzostupnom poradí podľa získaných údajov.

4.2 Text programu v jazyku Pascal

pv: pole skutočných;

writeLn('Zadajte očakávaný príjem z ',i,'tého majetku c:');

writeLn('Zadajte mieru návratnosti očakávanú investorom r:');

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

writeLn('aktuálna vnútorná hodnota aktíva je', pv[i]:1:3);

writeLn('Vnútorná hodnota aktíva je', s);

pre j:=1 až 4 do

ak pv[j] > pv tak

writeLn('Hodnota majetku zoradena vzostupne');

pre i:=1 až 5 do

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

4.3 Testovací prípad

4.4 Výsledok spustenia programu na testovacom príklade

Záver

Ak zhrnieme všetky vyššie uvedené skutočnosti, treba poznamenať, že softvérový nástroj je jedným z typov softvéru, ktorý má svoje všeobecné úlohy a funkcie.

Keďže ide o vysoko špecializovaný typ softvéru, má určitý súbor jedinečných vlastností a funkcií, ktoré poskytujú riešenia jeho špecifických problémov.

Je potrebné si všimnúť nastupujúci trend k zjednodušovaniu procesu programovania a vytváraniu určitej podtriedy - poloprofesionálne programovanie pre aplikované účely.

Práve to umožní skúsenému používateľovi počítača, nie však profesionálnemu programátorovi, vytvárať určité aplikácie a malé súbory spustiteľné v prostredí Microsoft Office, ktoré sa používajú predovšetkým na účtovné účely a tok dokumentov v malých firmách.

Práve na tento účel vyvinul Microsoft softvérový balík VisualBasicforApplication, ktorý zjednodušuje proces programovania a umožňuje používateľom, a nie programátorom, zapojiť sa do programovania aplikácií. Táto funkcia bola implementovaná predovšetkým vytvorením programovej časti – „Editor skriptov“ a možnosťou zaznamenávať a spúšťať „Makrá“ ako samostatný typ graficky programovateľných modulov. Bola implementovaná možnosť vytvárať aplikácie s grafickým rozhraním pre MS Windows. Ďalšou výhodou tohto typu softvérového nástroja je jeho jednoduchá syntax, ktorá vám umožňuje rýchlo zvládnuť jazyk a použiť ho na programovanie vo všetkých štandardných aplikáciách balíka Microsoft Office.

Preto je ťažké preceňovať dôležitosť nástrojov vo všeobecnosti a VisualBasicforApplication konkrétne, hoci nedostatky, ako je uvedené vyššie, tiež existujú. Ale to nie sú skôr ani negatívne stránky produktu, ale skôr pokyny pre ďalšie zlepšovanie softvéru vo forme VisualBasicforApplication.

1. Algoritmické jazyky v reálnom čase / Ed. Yanga S. / 2004

2. PC Magazine Ruské vydanie č. 2 2008 Počítač dnes.

3. Informatika. /Ed. Mogilev A.V., Pak N.I., Henner E.K./ - M.: ACADEMIA, 2000.

4. Informatika a informačné technológie: Učebnica / Ed. Romanova D.Yu. / Eksmo Publishing House LLC, 2007.

5. Najnovšia encyklopédia osobného počítača / Ed. Leontyeva V. /Moskva, 1999. – 271 s.

6. Nové programovacie jazyky ​​a trendy v ich vývoji / Ed. Ushkova V. / 2001

7. Pedagogika / Ed. Pidkasistogo P.I./ – M.: Pedagogická spoločnosť Rusko, 2000.

8. Programovanie pre Microsoft Excel 2000 za 21 dní. /Ed. Kharisa M./ – M.: Williams, 2000.

9. Simonovich S. Informatika: základný kurz. Učebnica pre univerzity. Petrohrad, Peter, 2002

10. Žiadny problém s Excelom 2000. /Ed. Kowalski/ – M.: Binom, 2000.

11. „Efektívna práca v systéme Windows 98“ / Ed. Stinson K. / 2000. – 247 s.

12. Programovacie jazyky. kniha 5 /Ed. Vaulina A.S. / 2003

13. Programovacie jazyky: vývoj a implementácia / Ed. Terrence P. / 2001

14. Elektronická učebnica informatiky. Alekseev E.G. http://www.stf.mrsu.ru/economic/lib/Informatics/text/Progr.html\

Technológia programovania vo všeobecnosti a nástroje na podporu vývoja softvéru zvlášť sa vyvíjajú tak rýchlo, že aj jednoduchý zoznam hlavných systémov nástrojov by v tejto knihe zabral príliš veľa miesta. Preto sa nižšie v krátkosti zastavíme len pri niekoľkých projektoch z oblasti programovacej techniky, ktoré sú v kontexte tejto publikácie zaujímavé.

Akýkoľvek vyvinutý technologický systém musí podporovať všetky hlavné etapy tvorby navrhnutého softvérového komplexu. Na dosiahnutie tohto cieľa v celkovej štruktúre typický systém podpory technologického rozvoja(obr. 6.3) bývajú izolované databáza projektov; navrhovanie a programovanie automatizačných subsystémov; ladenie, dokumentácia a podsystémy údržby, A aj subsystém pre riadenie postupu projektu.


Ryža. 6.3. Všeobecná štruktúra typického systému podpory technologického rozvoja

Vyvinuté systémy na podporu vývoja knižníc sa v súčasnosti používajú na celom svete vo všetkých serióznych softvérových projektoch. Ale vo veľkej väčšine prípadov takéto systémy dosiahli úroveň jednoduchosti použitia pre kvalifikovaných programátorov. Primárne nás zaujímajú systémy a projekty, ktoré majú tendenciu explicitne reprezentovať technologické znalosti, aj keď nie sú založené na nápadoch a metódach AI.

Jeden z týchto projektov, Gandalf, je zameraný na automatizované generovanie systémov vývoja softvéru. Výskum realizovaný v rámci projektu Gandalf sa týka troch aspektov podpory návrhu softvéru: projektového manažmentu, riadenia verzií a inkrementálneho programovania, ako aj ich integrácie do jedného prostredia. Manažment v prostredí Gandalf vychádza z predpokladu, že s vyvíjaným projektom by sa malo zaobchádzať ako so súborom abstraktných dátových typov, na ktorých je možné vykonávať len určité operácie. Nástrojom, ktorý implementuje tento koncept, bol systém SDC (Software Development Control), čo je súbor programov pôvodne implementovaných v jazyku Shell v systéme UNIX a neskôr preložených do jazyka C.

Výskum v oblasti správy verzií začal L. Kooprider na základe projektu FAFOS, kde boli prvotne analyzované možnosti vytvorenia rodiny operačných systémov. Notácia bola vyvinutá na popis interakcie medzi subsystémami, na popis rôznych verzií subsystémov (zdrojový a objektový kód, dokumentácia atď.) a na popis mechanizmov fungujúcich vo fáze vývoja (kompilácia, úprava odkazov atď.). Potom bol vytvorený špeciálny jazyk Intercol ako prostriedok na popísanie vzťahu a verzií modulov v systéme. A nakoniec, znalosť toho, ako zostaviť systém z častí, bola zabudovaná do systému bez toho, aby k tomu používateľ nútil. V nadväznosti na túto prácu bol vytvorený SUCE na sledovanie rozdielov medzi implementáciami (verzie, ktoré skutočne poskytujú kód pre sadu špecifikácií) a kompozíciami (verzie, ktoré definujú nové subsystémy ako skupiny existujúcich subsystémov).



V systéme LOIPE (Language-Oriented Incremental Programming Environment) sa inkrementálne zostavovanie vykonáva na úrovni individuálneho postupu. Výhodou tohto prístupu je, že pri oprave procedúry na úrovni lokálnych objektov alebo typov sa prekompiluje iba táto procedúra. Ak sa špecifikácia zmení, potom sa prekompilujú všetky postupy, ktoré od nej závisia. Používateľské rozhranie so systémom LOIPE je založené na syntakticky orientovanom editačnom subsystéme ALOE (A Language-Oriented Editor). Účelom vývoja tohto subsystému bolo štúdium možnosti vytvárania a používania syntakticky orientovaných editorov ako základu programovacích prostredí.

Analýza literatúry z posledných rokov o programovacej technike ukazuje, že novým odvetvím v technológii priemyselného vývoja a implementácie zložitých a významných softvérových systémov je Technológia CASE(Computer Aided Software Engineering).

Spočiatku sa technológia CASE objavila v projektoch na vytváranie priemyselných systémov na spracovanie údajov. Táto okolnosť zanechala stopy na technologických nástrojoch CASE, kde sa najvážnejšia pozornosť venovala, prinajmenšom v raných systémoch CASE, podpore návrhu informačných tokov. V súčasnosti dochádza k odklonu od zamerania sa na systémy spracovania údajov a technologické nástroje CASE sú čoraz všestrannejšie.

Všetky nástroje na podporu technológie CASE sú rozdelené do dvoch veľkých skupín: CASE sady nástrojov A CASE-Workbenches. Pre tieto výrazy neexistujú dobré ruské ekvivalenty. Prvé sa však často nazývajú „komody na náradie“ (vývojárske balíky, technologické balíky) a druhé sú „stroje na výrobu softvéru“ (výrobné linky).

A-priorstvo CASE-Toolkit - súbor integrovaných softvérových nástrojov, ktoré poskytujú automatickú pomoc pri riešení problémov rovnakého typu v procese tvorby programov.

Takéto balíky využívajú spoločné „úložisko“ pre všetky technické a riadiace informácie o projekte (úložisko), sú vybavené spoločným užívateľským rozhraním a jednotným rozhraním medzi jednotlivými nástrojmi balíka. CASE-Toolkit sa zvyčajne sústreďuje na podporu vývoja jednej fázy produkcie programu alebo jedného typu aplikačného problému.

Všetko vyššie uvedené platí aj pre CASE-WorkBench. Ale tu je navyše poskytovaná automatizovaná podpora pre analýzu riešených úloh softvérovej produkcie, ktorá je založená na všeobecných predpokladoch o procese a technológii takýchto činností; je podporovaný automatický prenos výsledkov práce z jednej fázy do druhej, počnúc fázou návrhu a končiac likvidáciou vytvoreného softvérového produktu a jeho údržbou.

teda CASE-WorkBench je prirodzeným „uzavretím“ technológie na vývoj, implementáciu a údržbu softvéru.

V súčasnosti má „typický“ systém podpory technológie CASE funkčnosť znázornenú na obr. 6.4.

Ryža. 6.4. Funkčnosť typického systému podpory technológie CASE

Ako vyplýva z tohto H-diagramu, prostredie CASE musí podporovať všetky hlavné etapy vývoja a údržby procesov tvorby softvérových systémov. Miera takejto podpory sa však výrazne líši. Napríklad, ak hovoríme o fázach analýzy a návrhu, väčšina balíkov nástrojov podporuje obrazovky a formuláre správ, prototypovanie a detekciu chýb. Značná časť týchto prostriedkov je určená pre PC. Mnohé podporujú široko používané metodológie, ako je štrukturálna analýza DeMarco alebo Gane/Sarson, návrh konštrukcie Yourdan/Jackson a niekoľko ďalších. Existujú špecializované vývojové balíky na vytváranie informačných systémov, napríklad Ana Tool (Advanced Logical Software) pre Macintosh; CA-Universe/Prototype (Computer Associates International) pre PC. Existujú CASE prostredia na podporu vývoja systémov v reálnom čase.

Medzi vývojármi softvéru existujú dva hodnotenia tohto prístupu: niektorí z nich veria, že technológia CASE radikálne mení procesy vývoja a prevádzky softvéru, iní to popierajú a prenechávajú CASE nástrojom iba funkciu automatizácie rutinnej práce. Analýza literatúry však ukazuje, že nástroje CASE stále „posúvajú“ technológie vývoja softvéru z projektového riadenia smerom k metóde prototypovania. A tento posun je podľa nás mimoriadne dôležitým trendom modernej programovacej technológie.

Publikácie na danú tému