Nástroje pro vývoj softwaru. Vývojářské nástroje – musíte mít a jednoduše užitečné

Vývoj softwaru se provádí pomocí různých nástrojů, které poskytují:

    původní programování;

    používání aplikačních softwarových balíků – standardních programů, které implementují funkce zpracování dat;

    automatizace hlavních fází vývoje programu.

Nejtradičnějšími vývojovými nástroji jsou programovací jazyky a systémy. Programovací jazyky se obvykle dělí na strojové a algoritmické.

Stroj jazyky obsahují strojové instrukce odpovídající nejjednodušším operacím zpracování. Strojové instrukce jsou vázány na konkrétní třídu počítače a/nebo operačního systému.

Algoritmické Programovací jazyky popisují algoritmus problému, poskytují srozumitelnost algoritmu a snadnou údržbu programu. Algoritmické jazyky se dělí na strojově orientované, procedurálně orientované a problémově orientované jazyky.

Stroj-orientované Programovací jazyky jsou jazyky nízké úrovně, protože berou v úvahu architekturu a typ počítačů. Programování v takových jazycích je náročné na práci, ale programy jsou optimální z hlediska požadovaných počítačových zdrojů. Příkladem strojově orientovaných programovacích jazyků jsou různé assemblery 1 (Macro Assembler, Turbo Assembler atd.) určité třídy počítačů.

Procesní-orientované Programovací jazyky jako Visual Basic, Pascal, C++, Ada, Cobol, PL1 atd. umožňují popsat sadu procesních procedur a implementovat standardní výpočetní struktury:

1. Posloupnosti bloků (instrukcí): 1, 2, 3, 4 atd.

Všechny bloky (instrukce) jsou prováděny v přísném pořadí (obr. 5 A)

2. Podmíněný přechod (obr. 5 B) - kontrola dané podmínky (2) a výběr alternativní akce: pokud je podmínka pravdivá - 3, jinak - 4. Poté se řízení přenese do bloku 5.

3. Alternativní volba (obr. 5 B) – kontrola podmínky (2), pokud je podmínka pravdivá – proveďte akci 3, jinak kontrola podmínky (4); pokud je podmínka pravdivá, proveďte akci 5 atd. Pokud nejsou splněny žádné podmínky nebo jsou provedeny akce (3 nebo 5 atd.), řízení se přenese do bloku 6.

A B C

Obrázek 5

4. Cyklický proces – cyklus „zatím“ (obr. 6A). Cyklus se opakuje, dokud není splněna podmínka (2) - blok 3. Pokud je podmínka (2) nepravdivá, řízení se přenese do bloku 4.

5. Cyklický proces – cyklus „před“ (obr. 6B). Smyčka se provede alespoň jednou - blok 2. Po kontrole podmínky (3), pokud je pravdivá, se provede blok (2), jinak se řízení přenese do bloku 4.

Obrázek 6

Programovací jazyky objekt typu se prvky strukturovaného programování používají také v programovém kódu třídy objektů nebo procedurách zpracování událostí.

Problematický-orientované programovací jazyky - relační dotazovací jazyky na vysoké úrovni, generátory sestav atd. umožňují identifikovat problém, vstupní a výstupní informace, aniž by bylo nutné specifikovat konkrétní postupy zpracování.

Aplikační programové balíčky (APP) jsou rozděleny do tříd:

    Problémově orientované PPP – poskytují řešení problémů konkrétní oblasti;

    Metodicky orientované PPP – podporují určitý typ modelu a metod řešení problémů, používají se bez ohledu na předmět;

    Univerzální software – poskytuje podporu pro informační technologie (práce s textem, grafika, standardní výpočty atd.).

Obecná charakteristika nástrojů pro vývoj softwaru

    Obecná charakteristika nástrojů pro vývoj softwaru

    Technologie programování instrumentálních systémů

    CASE nástroje. Charakteristika moderních nástrojů CASE

Přehled objektově orientovaných nástrojů

Objektově orientované programování vzniklo před objektově orientovanou analýzou a návrhem, takže dnes existuje poměrně velké množství jazyků, které tuto technologii podporují. První z nich se podle data vzniku považuje za jazyk Pokec, ačkoli v jazyce bylo použito mnoho prvků objektově orientovaného přístupu Simula v roce 1967 Nejmocnějším nástrojem pro tvorbu objektově orientovaných programů je dnes jazyk C++, vytvořený na základě strukturovaného programovacího jazyka C. Jazyk se úspěšně rozvíjí Jáva, který byl původně navržen jako objektově orientovaný.

Vývoj velkých softwarových systémů v moderních podmínkách není možný bez použití nástrojů pro automatizaci vývoje softwaru (CASE tools). Není mnoho CASE, které podporují objektově orientovaný přístup. Nejznámějším nástrojem v tomto směru je systém Racionální růže , který podporuje mimo jiné fáze objektově orientované analýzy a návrhu.

Objektově orientovaný CASE nástroj Rational Rose

Vývojář Racionální růže- Rational Software Corp., známý pro svůj vývoj v oblasti objektově orientovaných technologií, z nichž hlavním je jazyk UML. Právě na podporu UML jako hlavního jazyka pro návrh softwaru je tento CASE systém orientován.

Jako každý moderní nástroj CASE i tento systém podporuje všechny fáze životního cyklu softwaru a poskytuje uživateli širokou škálu funkcí pro analýzu, navrhování, vytváření a údržbu softwaru. V tomto případě se používají objektově orientované technologie a široce používané grafické modely.

Racionální růže sestává z následujících hlavních komponent: úložiště, grafické uživatelské rozhraní, nástroje pro kontrolu projektu (prohlížeč), nástroje pro řízení projektu, nástroje pro sběr statistik a generátor dokumentů, jakož i rozšíření pro podporu různých programovacích jazyků.

Mezi hlavní vlastnosti patří následující:

    Výkonný jazyk pro modelování grafických domén, který má vysokou úroveň formalizace a podporuje objektově orientovanou metodologii.

    Pohodlná navigace mezi prvky modelu pomocí „projektového inspektora“.

    Ukládání výsledků návrhu ve formě jednoho modelu.

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

    Výkonný systém pro přípravu zpráv a projektové dokumentace.

    Možnost syntézy programů téměř ve všech moderních objektově orientovaných jazycích, včetně multiplatformního jazyka Java.

    Podpora komponentových technologií pro budování softwarových systémů.

    Široké možnosti pro návrh softwaru různých architektur, od jednoduchých programů až po velké „klient-server“ systémy a internetové aplikace.

    Možnost reengineeringu modelu na základě zdrojového kódu programu. To zajišťuje zachování integrity návrhových informací a implementace.

    Konfigurace a rozšíření funkcionality prostředí CASE instalací rozšiřujících modulů především pro podporu různých programovacích jazyků.

Principy vývoje softwarových systémů v Rational Rose

Konstrukce objektově orientovaných systémů má svá specifika. Je zřejmé, že pro maximální účinnost by měla být ve všech fázích životního cyklu používána jediná technologie. Tuto možnost poskytuje univerzální modelovací jazyk UML. Racionální růže podporuje všechny fáze návrhu systému, které jsou definovány ve specifikaci UML.

Hlavní metodou návrhu je vytváření různých druhů diagramů a specifikací, které definují logickou a fyzickou strukturu modelu systému, jeho statické a dynamické aspekty. Patří mezi ně diagramy tříd, stavů, skriptů, modulů a procesů.

Ve všech fázích je možné použít specializované grafické editory pro prvky modelu a použít inspektor modelu k navigaci mezi jeho komponentami. Všechny informace o návrhu jsou uloženy v jediném souboru modelu (*.mdl).

Práce začíná konstrukcí Use Case Diagramu, který charakterizuje hlavní úkoly a prostředí navrženého systému. Dále jsou pro každý případ užití uvedený v diagramu užití vyvinuty sekvenční diagramy, které identifikují objekty v systému a popisují sekvenci událostí, které se vyskytují v procesu komunikace mezi objekty. Racionální růže umožňuje automaticky spojovat sekvenční diagramy s bloky použití.

Objekty přítomné v sekvenčních diagramech jsou v systému definovány pomocí tříd. Třídy a jejich vztahy jsou definovány pomocí diagramů tříd, jejichž vývoj je rovněž podporován Racionální růže. Třídy jsou seskupeny do balíčků. Racionální Růže umožňuje definovat sadu balíčků, vztahy mezi nimi a reprezentovat jejich základní třídy ve vnořených diagramech tříd.

Složení kompilovaných a spuštěných systémových modulů je specifikováno v Racionální růže pomocí diagramu komponent. Diagram identifikuje závislosti mezi komponentami. Komponenty mohou mít rozhraní, přes která jsou implementovány závislosti. Schémata nasazení v Racionální růže odrážejí konfiguraci prováděcího softwarového systému a skládají se z uzlů a interakčních vztahů mezi uzly. Uzly zahrnují komponenty znázorněné v diagramu komponent systému.

Pro plně definovaný model je možné generovat zdrojové texty programů v různých podporovaných objektově orientovaných programovacích jazycích Racionální růže, jako je Java nebo C++.

Výsledné texty programu lze upravovat venku Racionální růže a aby byly zohledněny provedené změny, systém umožňuje zpětnou analýzu textů do modelu.

Návrh softwaru

Modelování domén . Tvorba projektu začíná vytvořením zásad pro používání systému. V rámci Racionální růže Tato fáze se nazývá „Use Case View“. Implementace této fáze umožňuje identifikovat externí uživatele, bloky použití, systémové objekty a spojení mezi nimi.

Je vypracován diagram použití, který odráží vnější fungování vytvářeného systému. Tento model je v mnoha ohledech podobný diagramu toku dat ve strukturální analýze. Jeho hlavními součástmi jsou externí uživatelé (aktéři), bloky užití (případy užití) a propojení mezi součástmi. Chcete-li vytvořit graf v Racionální růže používá se specializovaný grafický editor.

Všechny prvky diagramu použití jsou v této fázi systémem identifikovány jako nezávislé součásti modelu a podléhají další specifikaci. Především se jedná o uživatelské bloky, které odrážejí skupiny funkcí systému prezentované jako jeden celek externímu uživateli.

Pro každý blok použití je vytvořen sekvenční diagram, který zobrazuje interakci objektů vykonávajících úlohu v čase. Takové diagramy identifikují systémové objekty a definují zprávy, jejichž prostřednictvím tyto objekty interagují. Diagramy jsou konstruovány ve specializovaném editoru.

Každý objekt v sekvenčním diagramu je doprovázen názvem třídy, do které patří. Konkrétní objekt je instancí nějaké třídy. Třídy tvoří logickou strukturu systému.

Vývoj logické struktury. Po dokončení tvorby zásad pro používání systému začíná fáze rozvoje jeho logické struktury. V Racionální růže nazývá se to "Logický pohled". Výsledkem této fáze by měl být hlavní diagram a podrobné diagramy jeho prvků.

V této fázi byste měli určit třídy, které jsou v systému potřeba. Instance těchto tříd jsou již specifikovány v sekvenčních diagramech. Třídy a jejich vazby se promítají do modelu ve formě diagramu tříd. Skupiny tříd v těchto diagramech lze seskupit do balíčků.

Návrh logické struktury by měl začít definováním základních balíčků. Balíček je univerzální nástroj pro seskupování prvků modelu. Použití balíčků umožňuje zviditelnit model. Balíčky lze vnořovat do sebe. Třídy, které tvoří každý balíček, jsou podrobně popsány v přiloženém diagramu.

Vestavěný Racionální růže Editor diagramu tříd poskytuje vhodné nástroje pro takové operace a Inspektor modelu usnadňuje navigaci v hierarchii diagramu.

Pro každou třídu je specifikována specifikace, která popisuje složení atributů a metod, připojení, šablonu, na které je třída vytvořena, a implementační funkce.

Přítomnost šablon usnadňuje vytváření tříd různých struktur.

Třídy lze importovat do systému zvenčí. Racionální růže podporuje komponentovou strukturu softwaru a umožňuje použití binárních komponent, jako jsou COM a ActiveX v modelu. Jejich reprezentace v modelu se provádí pomocí tříd založených na rozhraních těchto komponent.

Kromě diagramů tříd se v této fázi používají k popisu systémové logiky stavové diagramy, diagramy scénářů a další prvky jazyka UML.

Navrhněte fyzickou strukturu aplikace. Třídy popsané v předchozím kroku jsou spojeny s fyzickými součástmi programu pomocí diagramů součástí.

Komponenta je spustitelný modul systému a je spojena se zdrojovým souborem, souborem binární knihovny, objektovým modulem nebo spustitelným souborem. Komponenty mohou zahrnovat další komponenty.

Pro vizualizaci komponent navrženého systému se používají schémata komponent. Fáze vytváření diagramů součástí v Růže nazvaný "Component View". Spočívá v sestavení celkového schématu a v případě potřeby podrobně rozepíše jednotlivé komponenty v poddiagramech.

Tyto diagramy odrážejí vztah mezi komponentami softwaru. Vztah je realizován prostřednictvím rozhraní, která jsou rovněž zobrazena na diagramu.

Diagramy se vytvářejí ve specializovaném editoru. Pro komponentu jsou specifikovány její základní třídy.

Komponenta může generovat zdrojový text v různých podporovaných programovacích jazycích racionální růže, nebo přiřadit fragmenty programu vyvinuté mimo prostředí Růže. V druhém případě se jejich rozhraní musí shodovat s rozhraním deklarovaným v modelu.

Posledním krokem při návrhu softwaru je příprava diagramu nasazení. V Růže tato fáze se nazývá "Deployment View". Diagramy nasazení ukazují konfiguraci spustitelného softwarového systému. Skládá se z uzlů a interakčních vztahů mezi uzly a komponentami. Uzly mohou obsahovat komponenty a objekty. Uzly jsou fyzické prvky běhového prostředí.

Stavba a údržba systému

Generování zdrojových textů . Jakmile jsou identifikovány specifické komponenty vyvíjeného systému, je čas vygenerovat programový kód pro každou komponentu.

Vlastně, Růže vygeneruje kostru programu, která je následně zaslána programátorům k revizi. Automaticky se syntetizují definice tříd a metod, jejichž konkrétní implementace musí být provedena ručně.

Počáteční informace pro tuto operaci jsou informace o třídách, které tvoří tuto komponentu, a vybraném jazyce pro implementaci této komponenty.

Před provedením operace byste měli určit složení a parametry pro uložení přijatého kódu. Dále proveďte generování výběrem požadovaného jazyka. Pokud se vyskytnou chyby, systém vás o tom bude informovat.

Je možné selektivně generovat programový kód pro jednotlivé komponenty modelu a upravovat informace umístěné v programových souborech. Tím je dosaženo vysoké flexibility při upgradu a úpravě modelu.

Rational Rose 98 Enterprise Edition umožňuje generovat zdrojový text ve Visual Basic, C++, Java, stejně jako získat popis rozhraní komponent v IDL a vytvářet projekty pro systém Oracle 8.

Reengineering modelu založeného na zdrojových kódech . Schopnost reengineer, nebo, jak se také říká, „reverzní inženýrství“, model ze zdrojových programových textů, se zdá být jednou z důležitých a samozřejmě užitečných funkcí. Růže. Potřeba takové operace často vzniká při úpravě a upgradu projektu. Šablony programu generované modelem lze po jejich přenesení do programátorů upravovat a tyto změny je nutné v modelu zohlednit. Navíc od Racionální růže podporuje import binárních komponent (COM objektů v prostředí Win32), pak je podpora pro vytváření tříd na základě popisu rozhraní binární komponenty prostě nezbytná.

Třídy můžete zpětně analyzovat výběrem programovacího jazyka, ve kterém jsou třídy implementovány, a určením adresáře, kde jsou umístěny zdrojové soubory. Poté můžete vybrat potřebné soubory nebo je všechny zpětně analyzovat. Při provádění těchto akcí musíte být opatrní a vybrat pouze ty prvky, které lze skutečně převést na model. Během provozu vás systém bude informovat o výskytu chyb.

Po úspěšném dokončení operace se na diagramu komponenty objeví nový prvek (fáze "Zobrazení komponent") s názvem, který odpovídá adresáři zdrojových souborů. Přechod do fáze logického pohledu ukáže, že všechny třídy a balíčky, které tvoří novou komponentu, se také objevily v diagramech tříd.

Nyní je možné provádět změny v modelu, určené přidanými komponentami, a regenerovat zdrojové texty.

Podpora vývojové fáze

Komponenty a šablony. Jedna z možností Růže je modelování binárních komponent, které podporují specifikaci COM. V modelu jsou takové komponenty reprezentovány třídami rozhraní vytvořenými na základě souborů IDL doprovázejících objekt COM. To vám umožní zahrnout do vašeho modelu různé běžné komponenty.

Podpora šablon prvků modelu zjednodušuje proces návrhu. V Růže Můžete vytvářet a používat šablony pro většinu prvků modelu, včetně: bloků použití, balíčků, tříd, komponent a také pro operace na modelu. Při vytváření nového prvku musíte určit, která šablona se používá, a prvek bude obsahovat všechny vlastnosti šablony. Tento přístup vám umožní zbavit se rutinní práce a soustředit se na samotný projekt.

Pracovní prostředí. Logický vývoj myšlenky použití šablon a externích binárních komponent v Racionální růže byl vznik pracovního prostředí (Framework).

Pracovní prostor je typ šablony, která nastavuje prostředí pro vytvářený model. To se provádí načtením základních prvků obsažených v pracovním stole, které se stanou nedílnou součástí modelu.

Růže poskytuje širokou škálu standardních pracovních prostředí a můžete si také vytvořit své vlastní. Sada standardních pracovních prostředí je následující:

    Průzkumník výkonu aplikací

    Standardní prostředí. Zaměřeno na tvorbu aplikací ve Visual Basicu. Zahrnuje deklaraci mnoha standardních objektů VB.

    Prostředí pro návrh aplikací pro Internet. Zahrnuje definici různých komponent ActiveX a knihoven VB.

    Prostředí pro návrh aplikací pro práci s lokálními databázemi (Local Database). Obsahuje deklaraci objektů systému DAO

    Prostředí pro návrh aplikací využívající RDO (Remote Data Object). Umožňuje používat objekty RDO k vytváření aplikací klient-server.

    Prostředí pro návrh aplikací pro přístup k SQL serverům (SQL Server Distributed Management Object (SQL-DMO)), podporující přístup k SQL prostřednictvím objektů OLE-Automation.

    Prostředí podpory Microsoft Transaction Server

    Prostředí podpory Microsoft Outlook

    Prostředí pro vývoj aplikací Java (Java JDK 114 Full a Java JDK 114 Quick). Zahrnuje modely tříd Java a rozhraní získaných prostřednictvím reverzního inženýrství.

    Prostředí podpory Oracle8

Vývojové prostředí je přiřazeno při vytváření modelu. Vývojová prostředí jsou uložena ve formě souborů modelu (*.mdl) určených pouze pro čtení. Během procesu vytváření nového modelu se z vybraného vývojového prostředí načtou potřebné prvky a poté se vytvoří nový model.

Vývojová prostředí poskytují skvělý mechanismus pro přizpůsobení Růže pro konkrétní projekt. Můžete si vytvořit vlastní vývojové prostředí, které bude obsahovat prvky, které potřebujete z různých standardních prostředí. Část Racionální růže obsahuje „master“ pro vytváření pracovních prostředí.

Podpora vývojového týmu. Jakýkoli velký projekt obvykle provádí skupina vývojářů, která zahrnuje analytiky, designéry a programátory. Vývojový proces se skládá z postupných iterací s cyklem „analýza“ – „návrh“ – „implementace“. V každé fázi s modelem pracuje několik vývojářů a fáze se cyklicky opakují. V takových podmínkách je nutné zachovat integritu projektu, zohlednit změny provedené v různých fázích a koordinovat fáze. To vše vyžaduje použití společného úložiště a speciální ideologie designu.

Spolu s pohodlným nástrojem pro kontrolu modelu, který usnadňuje přepínání mezi fázemi, Racionální růže Byly identifikovány mechanismy podpory vývojového týmu.

Vytváří různé pracovní prostory pro vývojáře a pracovní prostor pro celý projekt. Každý vývojář provede změny ve své části (submodelu) a tyto změny se stanou globálními (přenesou se do obecného modelu) až poté, co je schválí systém řízení projektu. Jako projektoví kontroloři v Růže lze použít externí systémy, jako např ClearCase A Microsoft SourceSafe.

Použití rozšiřujících modulů . V Racionální růže Byl zaveden flexibilní mechanismus pro konfiguraci a přizpůsobení schopností systému. Existují různé rozšiřující moduly, do kterých lze instalovat Růže a řešení různých problémů. Existují dva hlavní typy rozšiřujících modulů: rozšíření, která podporují programovací jazyky a rozšíření funkčnosti prostředí.

Při přidávání nového rozšíření se integruje se systémem přidáním položek do systémových nabídek a instalací potřebných knihoven a spustitelných souborů. Každé rozšíření může navíc do systému přidat své vlastní typy a šablony.

Potřebná rozšíření jsou obvykle přidána během počáteční instalace systému, ale lze je nainstalovat později. Je podporována distribuce rozšíření přes internet

Chcete-li spravovat rozšíření v Růže Existuje správce rozšíření. S jeho pomocí můžete aktivovat a deaktivovat různé rozšiřující moduly.

Klady a zápory Rational Rose

Tento nástroj CASE lze použít k vytvoření řady objektově orientovaného softwaru, především pro platformu Windows, a také v multiplatformním jazyce Java.

Jazyk UML se používá ve všech fázích vývoje a softwarový projekt je jednotný model.

Důležitými výhodami jsou přizpůsobení pro různé programovací jazyky a architektury softwarových systémů a také možnost „reverzního inženýrství“ na základě zdrojových textů v různých programovacích jazycích. Pro komponenty navrženého systému existuje podpora pro různé způsoby fyzické implementace.

Možnost konfigurace systému pomocí rozšiřujících modulů je velmi užitečná. Ve skutečnosti jediný způsob, jak napsat aplikaci pro jiný operační systém než Windows, je použít jazyk Java.

Podstata a koncept instrumentálního softwaru

Instrumentální software (IPO) je software určený pro použití při návrhu, vývoji a údržbě programů.

Nástroje se používají ve fázi vývoje. Nástrojový software je soubor programů, které pomáhají programátorům v jejich práci, pomáhají manažerům vývoje softwaru v jejich úsilí řídit proces vývoje a výsledné produkty. Nejznámějšími představiteli této části softwaru jsou překladatelské programy z programovacích jazyků, které pomáhají programátorům psát strojové příkazy. Instrumentální programy jsou překladatelé z jazyků Fortran, Cobol, Joe-vial, BASIC, APL a Pascal. Usnadňují proces tvorby nových pracovních programů. Jazykové překladače jsou však pouze nejznámější částí instrumentálních programů; je jich velké množství.

Používání počítačů k vytváření nových programů není pro lidi, kteří nejsou profesionálními programátory, zdaleka samozřejmé. Často se stává, že profesionálové mluví o nástrojovém (vývojová fáze) a systémovém (fáze použití) softwaru stejným dechem, za předpokladu, že ti, kteří nejsou zasvěceni do tajů svého řemesla, si tuto roli nástrojového softwaru uvědomují. Stejně jako ve fázi používání (pro aplikační programy) funguje systémový software také ve fázi vývoje, ale pouze ve spojení s nástroji. Nástrojový software nebo programovací systémy jsou systémy pro automatizaci vývoje nových programů v programovacím jazyce.

V nejobecnějším případě pro vytvoření programu ve zvoleném programovacím jazyce (systémový programovací jazyk) potřebujete mít následující komponenty:

1. Textový editor pro vytvoření souboru se zdrojovým textem programu.

2. Kompilátor nebo interpret. Zdrojový text je přeložen do středního objektového kódu pomocí kompilátoru. Zdrojový kód velkého programu se skládá z několika modulů (zdrojových souborů). Každý modul je zkompilován do samostatného souboru s objektovým kódem, který se pak musí spojit do jednoho.

3. Link editor nebo assembler, který spojuje objektové moduly a vytváří funkční aplikaci jako výstup – spustitelný kód.

Spustitelný kód je kompletní program, který lze spustit na libovolném počítači s operačním systémem, pro který byl program vytvořen. Výsledný soubor má zpravidla příponu .EXE nebo .COM.

V poslední době se rozšířily metody vizuálního programování (pomocí skriptovacích jazyků) zaměřené na vytváření aplikací pro Windows. Tento proces je v prostředí rychlého návrhu automatizován. V tomto případě se používají hotové vizuální komponenty, které se konfigurují pomocí speciálních editorů.

Nejoblíbenější editory (programovací systémy využívající vizuální nástroje) pro vizuální design:

Borland Delphi – navržený tak, aby řešil téměř jakýkoli problém s programováním aplikací.

Borland C++ Builder je vynikající nástroj pro vývoj aplikací pro DOS a Windows.

Microsoft Visual Basic je oblíbený nástroj pro vytváření programů Windows.

Microsoft Visual C++ – tento nástroj umožňuje vyvíjet libovolné aplikace běžící v prostředí OS, jako je Microsoft Windows

Podstatou instrumentálního softwaru je tedy vytvoření libovolného spustitelného programu převodem formálních logických výrazů do spustitelného strojového kódu, stejně jako jeho ovládání a úprava.

Úkoly a funkce softwaru nástroje

Instrumentální software, jako speciální typ softwaru, se vyznačuje obecným a soukromým

funkcí, jako u veškerého softwaru obecně. Obecné funkce jsou diskutovány výše a specializované funkce vlastní pouze tomuto typu programu jsou:

1. Vytváření textu vyvíjeného programu pomocí speciálně zavedených kódových slov (programovací jazyk), dále určité sady znaků a jejich umístění ve vytvářeném souboru - syntaxe programu.

2. Překlad textu vytvořeného programu do strojově orientovaného kódu, přístupného pro počítačové rozpoznání. Pokud je objem vytvořeného programu významný, je rozdělen do samostatných modulů a každý z modulů je překládán samostatně.

3. Propojení jednotlivých modulů do jednoho spustitelného kódu, při dodržení potřebné struktury, zajišťující koordinaci interakce jednotlivých částí mezi sebou.

4. Testování a sledování vytvořeného programu, identifikace a odstraňování formálních, logických a syntaktických chyb, kontrola programů na přítomnost zakázaných kódů, jakož i hodnocení výkonu a potenciálu vytvořeného programu.

Typy nástrojového softwaru

Na základě úkolů přiřazených přístrojovému softwaru můžeme rozlišit velké množství různých typů přístrojového softwaru:

Textové editory

Integrovaná vývojová prostředí

Kompilátory

Tlumočníci

Linkery

Analyzátory a generátory analyzátorů (viz Javacc)

Montážníci

Debuggery

Profilovači

Generátory dokumentace

Nástroje pro analýzu pokrytí kódu

Nástroje průběžné integrace

Automatizované testovací nástroje

Systémy kontroly verzí atd.

Je třeba poznamenat, že shelly pro vytváření aplikačních programů jsou také vytvářeny nástrojovými programy, a proto je lze klasifikovat jako aplikační programy. Podívejme se krátce na účely některých instrumentálních programů.

Textové editory.

Textový editor je počítačový program určený ke zpracování textových souborů, jako je vytváření a provádění změn.

CAD složení

CAD je systém, který kombinuje technické prostředky, matematiku a software, jehož parametry a vlastnosti jsou vybírány s maximálním zohledněním specifik inženýrských projekčních a konstrukčních úloh. CAD zajišťuje snadné používání programů pomocí prostředků provozní komunikace mezi inženýrem a počítačem, speciálních problémově orientovaných jazyků a dostupnosti informační a referenční databáze.

Konstrukční komponenty CAD jsou subsystémy, které mají všechny vlastnosti systémů a jsou vytvářeny jako nezávislé systémy. Jedná se o části CAD systémů, identifikované podle určitých charakteristik, které zajišťují realizaci určitých dokončených konstrukčních úkolů s přijetím odpovídajících konstrukčních řešení a konstrukční dokumentace.

Na základě svého účelu se subsystémy CAD dělí na dva typy: návrh a údržba.

Návrhové subsystémy zahrnují ty, které provádějí návrhové postupy a operace, například:

· subsystém uspořádání stroje;

· subsystém pro navrhování montážních celků;

· subsystém navrhování dílů;

· podsystém návrhu řídicího obvodu;

· podsystém technologického návrhu.

Servisní subsystémy zahrnují subsystémy navržené pro zachování funkčnosti návrhových subsystémů, například:

· podsystém pro grafické zobrazení designových objektů;

· dokumentační subsystém;

· subsystém vyhledávání informací atd.

V závislosti na vztahu k objektu návrhu se rozlišují dva typy subsystémů návrhu:

· objektově orientovaný (objektový);

· objektově nezávislý (invariantní).

Objektové subsystémy zahrnují subsystémy, které provádějí jednu nebo více návrhových procedur nebo operací, které jsou přímo závislé na konkrétním objektu návrhu, například:

· subsystém návrhu technologických systémů;

· subsystém pro modelování dynamiky, navržené struktury atp.

Invariantní subsystémy zahrnují subsystémy, které provádějí jednotné návrhové postupy a operace, například:

· podsystém pro výpočet strojních součástí;

· podsystém pro výpočet řezných režimů;

· podsystém pro výpočet technicko-ekonomických ukazatelů atp.

Proces návrhu je realizován v subsystémech ve formě specifické posloupnosti návrhových postupů a operací. Návrhový postup odpovídá části návrhového subsystému, v jehož důsledku dochází k určitému návrhovému rozhodnutí. Skládá se z elementárních návrhových operací, má pevně stanovený řád jejich provádění a směřuje k dosažení lokálního cíle v procesu návrhu. Návrhovou operací se rozumí konvenčně zvolená část návrhového postupu nebo elementární akce provedená konstruktérem v průběhu návrhového procesu. Příklady konstrukčních postupů zahrnují postupy pro vypracování kinematického nebo dispozičního schématu obráběcího stroje, technologie zpracování výrobku atd., příklady konstrukčních operací zahrnují výpočet přídavků, řešení rovnice atd.

Strukturální jednota CAD subsystémů je zajištěna přísnou regulací vazeb mezi různými typy software, sjednocených společnou cílovou funkcí pro daný subsystém. Rozlišují se následující typy zabezpečení:

· metodická podpora - dokumenty, které odrážejí skladbu, pravidla pro výběr a provoz nástrojů automatizace návrhu;

· jazyková podpora - designové jazyky, terminologie;

· software - metody, matematické modely, algoritmy;

· software - dokumenty s programovými texty, programy na počítačových médiích a provozní dokumenty;

· technická podpora - výpočetní a organizační vybavení, zařízení pro přenos dat, měřicí a jiná zařízení a jejich kombinace;

· informační podpora - dokumenty obsahující popis standardních konstrukčních postupů, standardních konstrukčních řešení, standardních prvků, součástí, materiálů a dalších údajů;

· organizační zabezpečení - předpisy a pokyny, příkazy, personální řády a další dokumenty upravující organizační strukturu útvarů a jejich interakci s komplexem nástrojů automatizace návrhu.

· 64 technologií CALS.

Technologie CALS slouží jako prostředek integrace průmyslových automatizovaných systémů do jediného multifunkčního systému. Cílem integrace automatizovaných konstrukčních a řídicích systémů je zvýšit efektivitu vytváření a používání složitých zařízení.

V moderních podmínkách vzniku globální informační společnosti výrazně narůstá role informací a informačních technologií v přípravě budoucího specialisty. V blízké budoucnosti nebudou strategickým potenciálem společnosti energetické zdroje, ale informace a vědecké poznatky. Informace se stávají hlavním zdrojem vědeckého, technického a socioekonomického rozvoje společnosti, významně ovlivňují zrychlený rozvoj vědy, techniky a různých průmyslových odvětví a hrají významnou roli v procesu modernizace vzdělávání. Hodnotově-sémantické charakteristiky vysokoškolského vzdělávání a odborné činnosti odborníků by měly být vyjádřeny ve formování intelektuálního profesního prostředí, které nejplněji realizuje úkoly výzkumné a projekční činnosti.

Ke zvýšení efektivity výroby slouží plošná elektronizace všech druhů lidské činnosti: od tradičních intelektuálních úkolů vědeckého charakteru až po automatizaci výrobních, obchodních, obchodních, bankovních a dalších typů činností. V tržní ekonomice úspěšně obstojí v konkurenci pouze podniky, které při své činnosti využívají moderní informační technologie.

Právě informační technologie spolu s vyspělými technologiemi materiálové výroby umožňují výrazně zvýšit produktivitu práce a kvalitu výrobků a zároveň výrazně zkrátit dobu uvedení nových výrobků, které splňují potřeby a očekávání spotřebitelů. Vše výše uvedené platí především pro komplexní high-tech produkty, včetně produktů pro technické účely.

Zkušenosti získané v procesu implementace různých autonomních informačních systémů umožnily uvědomit si potřebu integrace různých informačních technologií do jednoho celku založeného na vytvoření v rámci podniku nebo skupiny podniků (virtuálního podniku) integrovaného informačního prostředí, které podporuje všechny fáze životního cyklu vyráběných produktů. Profesní prostředí nejúplněji odkrývá možnosti profesního zdokonalování, využívání nových informačních technologií ve vědě a v oblasti řízení výrobních procesů. Inovativní technologie v oblasti průmyslu zpracování informací se zavedením technologie CALS-(Continuous Acquisition and Life Cycle Support) - nepřetržitá informační podpora životního cyklu navrženého objektu, posouvá automatizaci řízení výrobních procesů na novou úroveň.

Využití informačních technologií založených na ideologii CALS je jedním z faktorů přispívajících k efektivnější implementaci automatizovaného systému řízení podniku.

Technologie CALS slouží jako prostředek integrace průmyslových automatizovaných systémů do jediného multifunkčního systému. Cílem integrace automatizovaných konstrukčních a řídicích systémů je zvýšit efektivitu vytváření a používání složitých zařízení.

Podstatou konceptu CALS je aplikace principů a technologií informační podpory ve všech fázích životního cyklu produktu, založená na využití integrovaného informačního prostředí, které poskytuje jednotné způsoby řízení procesů a interakce všech účastníků tohoto cyklu: zákazníci produktů (včetně vládních agentur a ministerstev), dodavatelé (výrobci) produkty, pracovníci obsluhy a údržby. Tyto principy a technologie jsou implementovány v souladu s požadavky mezinárodních norem upravujících pravidla řízení a interakce především prostřednictvím elektronické výměny dat.

Při použití technologie CALS se kvalita produktů zvyšuje díky úplnějšímu zohlednění dostupných informací při navrhování a rozhodování managementu a také se snižují materiálové a časové náklady na návrh a výrobu produktů. V procesu zavádění této technologie bude platnost rozhodnutí učiněných v automatizovaném systému řízení podniku (EMS) vyšší, pokud osoba s rozhodovací pravomocí a odpovídající řídící programy budou mít rychlý přístup nejen k databázi AMMS, ale také k databázím jiných automatizované systémy a Proto dokáže optimalizovat pracovní plány, obsah aplikací, rozložení účinkujících, alokaci financí atp. Online přístup je přitom třeba chápat nejen jako schopnost číst data z databáze, ale také jako snadnost jejich správné interpretace, tzn. konzistentnost v syntaxi a sémantice s protokoly přijatými v automatizovaných řídicích systémech. Technologické subsystémy musí vnímat a správně interpretovat data přicházející z automatizovaných návrhových subsystémů s vysokou přesností. Toho není tak snadné dosáhnout, pokud hlavní podnik a související organizace pracují s různými automatizovanými systémy. Problém ochrany informací po celém obvodu technologických subsystémů se navíc stává naléhavým.

Použití technologií CALS může výrazně snížit množství projekční práce, protože popisy dříve dokončených úspěšných vývojů komponent a zařízení, mnoha komponent zařízení, strojů a systémů, které byly navrženy dříve, jsou uloženy v databázích síťových serverů, které jsou přístupné každému uživateli Technologie CALS. Dostupnost a ochrana jsou opět zajištěny konzistencí formátů, metod, pokynů v různých částech celkového integrovaného systému. Kromě toho existují větší možnosti specializace podniků, dokonce i vytváření virtuálních podniků, což také pomáhá snižovat náklady.

V procesu zavádění technologie CALS se výrazně snižují provozní náklady díky implementaci funkcí integrované logistické podpory. Výrazně usnadňuje řešení problémů údržby, integrace produktů do různých typů systémů a prostředí, adaptace na měnící se provozní podmínky atd. Těchto výhod datové integrace je dosaženo využitím moderních technologií CALS.

Průmyslové automatizované systémy mohou fungovat autonomně a v současné době probíhá organizace procesu řízení výroby na tomto základě. Efektivita automatizace však bude znatelně vyšší, pokud budou data generovaná v jednom ze systémů dostupná v jiných systémech, protože rozhodnutí v nich učiněná budou informovanější.

Zkušenosti s implementací technologie CALS ukazují, že pro dosažení správné úrovně interakce mezi průmyslovými automatizovanými systémy je nutné vytvořit jednotný informační prostor jak v rámci jednotlivých podniků, tak především v rámci sdružení podniků. Jednotný informační prostor je zajištěn sjednocením formy i obsahu informací o konkrétních produktech v různých fázích jejich životního cyklu.

Sjednocení formuláře je dosaženo použitím standardních formátů a jazyků pro prezentaci informací při meziprogramových výměnách a při dokumentaci.

Sjednocení obsahu, chápané jako jednoznačná správná interpretace dat o konkrétním produktu ve všech fázích jeho životního cyklu, je zajištěna rozvojem ontologií (meta-popisů) aplikací, zakotvených v aplikačních protokolech CALS.

CAD – co to je?

Co jsou tedy počítačově podporované konstrukční systémy? CAD se týká automatizovaných systémů, které jsou navrženy k implementaci jedné nebo druhé informační technologie prostřednictvím návrhu. CAD systémy jsou v praxi technické systémy, které umožňují automatizovat a zajistit fungování procesů tvořících vývoj projektů. V závislosti na kontextu může CAD znamenat:

software používaný jako hlavní prvek příslušné infrastruktury;

Soubor technických a personálních systémů (včetně těch, které zahrnují použití CAD ve formě softwaru) používaných v podniku k automatizaci procesu vývoje projektu;

Je tedy možné rozlišit široký a užší výklad daného pojmu. Těžko říci, který z těchto výkladů se v podnikání používá častěji. Vše závisí na konkrétní oblasti použití počítačově podporovaných konstrukčních systémů a také na úkolech, pro které se tyto systémy mají používat. Takže například v kontextu jediné dílny ve výrobě se předpokládá, že CAD je specifický program pro počítačově podporované navrhování. Pokud mluvíme o strategickém plánování rozvoje organizace, pak takový koncept jako CAD bude s největší pravděpodobností odpovídat rozsáhlé infrastruktuře, která se používá ke zvýšení efektivity vývoje různých projektů. Je třeba poznamenat, že samotný termín CAD je zkratka, kterou lze dešifrovat různými způsoby. Obecně tato zkratka odpovídá kombinaci slov „computer-aided design system“. Existují i ​​další možnosti, jak tuto zkratku rozluštit. Například možnost „systém automatizace návrhu“ je zcela běžná. Významově je anglickým ekvivalentem výrazu CAD zkratka CAD, v některých případech se používá i CAX Podívejme se blíže na následující otázku: pro jaké účely lze systémy počítačově podporovaného navrhování vytvářet ve strojírenství a jiné obory?

CAD: cíle tvorby

Hlavním cílem vývoje CAD je zvýšit efektivitu práce podnikových specialistů, kteří řeší různé výrobní problémy, včetně problémů souvisejících s inženýrským projektováním. V tomto případě lze účinnost zvýšit v důsledku následujících faktorů:

Snížení pracovní náročnosti procesu navrhování;

Snížení doby realizace projektu;

Snížení nákladů na projekční práce a provozních nákladů;

Zajištění vyšší kvality návrhové infrastruktury.

Snižte náklady na testování a simulace.

CAD je nástroj, který vám umožňuje dosáhnout uvedených výhod díky následujícím faktorům:

Efektivní informační podpora pro specialisty podílející se na vývoji projektu;

Automatizace dokumentace;

Aplikace paralelních návrhových konceptů;

Sjednocení různých řešení;

Aplikace matematického modelování jako alternativa k drahému testování;

Optimalizace metod návrhu;

Zlepšení kvality procesů řízení podniku.

Nyní se podívejme na strukturu, ve které lze prezentovat systém automatického návrhu.

CAD: klasifikace

Mezi nejběžnější kritéria pro klasifikaci CAD patří průmyslový účel. Rozlišují se následující typy:

  1. Automatizovaný návrh infrastruktury strojírenství;
  2. CAD pro elektronická zařízení;
  3. CAD v oboru stavebnictví.

První typ CAD systémů lze použít v celé řadě průmyslových odvětví: výroba letadel, výroba automobilů, stavba lodí a výroba spotřebního zboží. Odpovídající infrastrukturu lze také využít k vývoji jak jednotlivých částí, tak různých mechanismů s využitím různých přístupů v rámci modelování a návrhu.

Druhý typ CAD systémů se používá k návrhu hotového elektronického zařízení a jeho jednotlivých prvků, například integrovaných obvodů, procesorů a dalších typů hardwaru.

CAD třetího typu lze použít k navrhování různých konstrukcí, budov a prvků infrastruktury.

Dalším kritériem, podle kterého lze systémy počítačově podporovaného navrhování klasifikovat, je zamýšlený účel. Zde zdůrazňují:

Návrhářské nástroje používané k automatizaci dvourozměrných nebo trojrozměrných geometrických modelů pro generování projektové dokumentace;

Systémy používané pro účely vytváření různých výkresů;

Systémy navržené pro geometrické modelování;

Systémy navržené pro automatizaci výpočtů v rámci inženýrských projektů a dynamického modelování;

Automatizační nástroje používané za účelem technologické optimalizace projektů;

Systémy určené pro počítačovou analýzu různých parametrů pro projekty.

Tato klasifikace je považována za podmíněnou.

Počítačem podporovaný systém navrhování procesů může zahrnovat širokou škálu funkcí z těch, které jsou uvedeny výše. Konkrétní seznam možností CAD primárně určuje vývojář systému. Podívejme se, jaké úkoly dokáže vyřešit.

Software Development Tool Systémový nástroj Software

Esej

SOFTWARE - soubor programů systému zpracování informací a programových dokumentů nezbytných pro provoz těchto programů (GOST 19781-90). Dále - soubor programů, postupů a pravidel a také dokumentace související s provozem systému zpracování dat (ST ISO 2382/1-84).

NÁSTROJOVÝ SOFTWARE – software určený pro použití při návrhu, vývoji a údržbě programů. Obvykle se tento termín používá ke zdůraznění rozdílu mezi touto třídou softwaru a aplikačním a systémovým softwarem.

COMPILER – překladač, který převádí program napsaný ve zdrojovém jazyce na objektový modul.

INTERPRETER - program (někdy hardwarový), který analyzuje příkazy nebo příkazy programu a okamžitě je provádí.

OPERAČNÍ SYSTÉM - soubor řídicích a zpracovatelských programů, které na jedné straně fungují jako rozhraní mezi zařízeními počítačového systému a aplikačními programy a na druhé straně jsou určeny k ovládání zařízení, řízení výpočetních procesů, efektivní distribuci výpočetních zdrojů mezi výpočetní procesy a organizovat spolehlivé výpočty.

APLIKAČNÍ PROGRAM - program určený k provádění určitých uživatelských úkolů a určený pro přímou interakci s uživatelem.

VISUALBASIC je nástroj pro vývoj softwaru vyvinutý společností Microsoft Corporation, který obsahuje programovací jazyk a vývojové prostředí.

VISUALBASICFORAPPLICATION je mírně zjednodušená implementace programovacího jazyka Visual Basic, zabudovaná do řady produktů Microsoft Office (včetně verzí pro Mac OS), stejně jako do mnoha dalších softwarových balíků, jako jsou AutoCAD, SolidWorks, CorelDRAW, WordPerfect a ESRI ArcGIS.

Účelem práce je studium typů a funkcí softwaru, zejména instrumentálního softwaru.

Klasifikace softwaru:

Typy softwaru nástrojů:

1) Textové editory

4) Kompilátory

5) Tlumočníci

6) Linkery

8) Montážníci

9) Debuggery

10) Profilovači

11) Generátory dokumentace

K vytvoření programu ve zvoleném programovacím jazyce potřebujete následující komponenty:

2. Kompilátor nebo interpret. Zdrojový text je přeložen do středního objektového kódu pomocí kompilátoru.

Výsledek práce: Posouzen je software, jeho funkce a typy, zejména instrumentální software, jeho podstata a úkoly. Třetí kapitola pojednává o Microsoft Visual Basic jako nástroji pro vývoj softwaru a jeho dialektu - Microsoft Visual Basic for Application. V kurzu je implementován algoritmus pro řešení finančního a ekonomického problému pomocí programovacího jazyka Pascal.

Úvod

V moderním světě si nejeden člověk, který okusil výhody civilizace, nedokáže představit svůj život bez použití výpočetní techniky. Jeho použití se vyskytuje v jakékoli oblasti lidské činnosti: výroba, obchod, vzdělávání, zábava a komunikace lidí, jejich vědecké a kulturní aktivity. To vše díky schopnosti vybrat si počítačové vybavení pro řešení jakéhokoli, i toho nejsložitějšího problému.

Všestrannost a specializace výpočetní techniky je však zajištěna použitím jiné sady software na bázi téměř každého počítače, který poskytuje řešení jakýchkoli zadaných úkolů.

Všichni vidíme obrovskou rozmanitost počítačových programů a ohromující tempo jejich růstu a zdokonalování a jen malá část z nás chápe neviditelnou stránku jejich návrhu, vývoje a tvorby. Tato oblast výpočetní techniky je však podle našeho názoru nejdůležitější, neboť na jejím vývoji bude záviset budoucnost výpočetní techniky.

A protože vývoj jakéhokoli počítačového programu probíhá pomocí Instrumentálního softwaru, rád bych se mu v naší práci na kurzu věnoval podrobně, vyzdvihl jej ze všech softwarů a odhalil jeho podstatu a vlastnosti.

Pro názornost se na instrumentální software (předmět studia) podíváme na příkladu softwarového balíku VisualBasicforApplication (předmět studia), sloužícího k programování v prostředí Microsoft Office - nejrozšířenější a nejoblíbenější kancelářský balík.

1. Software

1.1 Pojem a podstata softwaru

Software je nedílnou součástí počítačového systému. Je logickým pokračováním technických prostředků jakéhokoli počítače. Rozsah použití konkrétního počítače je určen softwarem pro něj vytvořeným. Počítač sám o sobě nemá znalosti o žádné aplikaci. Všechny tyto znalosti jsou soustředěny v programech běžících na počítačích, které mají sadu specifických funkcí a jsou navrženy tak, aby vykonávaly specifické, ve většině případů vysoce specializované funkce, jako je vytváření a zpracování grafických obrázků nebo zvukových souborů.

Software v současnosti zahrnuje stovky tisíc programů, které jsou navrženy tak, aby zpracovávaly širokou škálu informací pro nejrůznější účely.

Software také zahrnuje celou oblast činnosti v oblasti návrhu a vývoje softwaru:

1) technologie návrhu programu (například design shora dolů, strukturovaný a objektově orientovaný design);

2) metody testování programů;

3) metody prokazování správnosti programů;

4) analýza kvality programů;

5) dokumentování programů;

6) vývoj a používání softwarových nástrojů, které usnadňují proces návrhu softwaru, a mnoho dalšího.

Existuje mnoho různých definic softwaru. Obecně je software soubor programů systému zpracování informací a programových dokumentů nezbytných pro provoz těchto programů (GOST 19781-90). Dále - soubor programů, postupů a pravidel a také dokumentace související s provozem systému zpracování dat (ST ISO 2382/1-84).

Software je jedním z typů podpory počítačového systému spolu s technickou (hardwarovou), matematickou, informační, jazykovou, organizační a metodickou podporou.

V počítačovém slangu se slovo software často používá z anglického slova software, které bylo v tomto smyslu poprvé použito v článku v American Mathematical Monthly matematika z Princetonské univerzity Johna W. Tukeyho v roce 1958.

Další definice:

1) SOFTWARE je soubor programů, které umožňují automatizované zpracování informací v počítači.

2) SOFTWARE (matematická podpora pro elektronický počítač), soubor programů pro systém zpracování dat a programové dokumenty potřebné pro realizaci programů na elektronickém počítači.

3) SOFTWARE - soubor programů pro řízení procesu provozu počítače a automatizaci programování.

4) SOFTWARE - soubor počítačových programů, které zajišťují zpracování nebo přenos dat.

Všechny definice jsou podobné a odrážejí podstatu softwaru – organizování interakce hardwarové (technické) části, v podobě různých vestavěných uzlů a periferních zařízení, jejich řízení a koordinace celkové interakce počítačového systému mezi sebou a s uživatelem.

1.2 Softwarové funkce

Výše uvedené pojmy softwaru určují funkce, které software vykonává při provozu počítačového vybavení. Seznam těchto funkcí je velmi rozmanitý, ale lze je zhruba rozdělit do následujících pěti typů:

1. Hardware a mechanické. Propojují různé počítačové komponenty a zajišťují přenos hardwarového signálu z jedné komponenty do druhé.

2. Strojově-logicky. Zpracujte a interpretujte sadu elektromagnetických impulsů z hardwaru do logicky vědomého softwarového kódu, který má specifickou strukturu a vlastnosti.

3. Informace a velení. Kontrolují shodu programového kódu s principy systému a vytvářejí logickou strukturu informací a provádějí jejich provádění.

4. Rozhraní. Zajistit zpracování a interpretaci programového kódu do formátu zobrazení dostupného uživateli. Vytváří příznivé prostředí pro interakci „počítač-člověk, člověk-počítač“.

5. Aplikováno. Provádí matematické, logické, fyzikální a jiné akce se souborem dostupných dat, jinými slovy zpracovává dostupné informace k řešení určitých problémů.

Tento seznam není zdaleka vyčerpávající, což naznačuje rozmanitost a nejednoznačnost funkcí, které software vykonává.

1.3 Typy softwaru

V závislosti na funkcích, které určitá počítačová komponenta poskytuje, je potřeba vytvořit si pro ni vlastní specializovaný software, což je základním motivem pro tvorbu software různých typů, jak ukazuje (obr. 1):

a) aplikační programy, které přímo podporují provádění práce požadované uživateli;

b) systémové programy, určené k řízení provozu počítačového systému, vykonávají různé pomocné funkce, například:

1) správa počítačových zdrojů;

2) vytváření kopií použitých informací;

3) kontrola funkčnosti počítačových zařízení;

4) vydávání referenčních informací o počítači atd.;

c) instrumentální softwarové systémy, které usnadňují proces tvorby nových počítačových programů.

Systémový software zajišťuje provoz a údržbu počítače a také automatizaci procesu tvorby nových programů. Systémový software zahrnuje: operační systémy a jejich uživatelské rozhraní; softwarové nástroje; systémy údržby.

Operační systém je povinnou součástí speciálního softwaru, který zajišťuje efektivní fungování osobního počítače v různých režimech, organizování spouštění programů a interakci uživatele a externích zařízení s počítačem.

Uživatelské rozhraní (servisní programy) jsou softwarové doplňky operačního systému (shell a prostředí) určené ke zjednodušení komunikace uživatele s operačním systémem.

Programy, které poskytují rozhraní, si zachovávají formu komunikace (dialogu) mezi uživatelem a operačním systémem, ale mění jazyk komunikace (obvykle je příkazový jazyk převeden na jazyk nabídky). Servisní systémy lze rozdělit na systémy rozhraní, shelly operačního systému a utility.

Systémy rozhraní jsou výkonné servisní systémy, nejčastěji grafického typu, které zlepšují nejen uživatelské, ale i programové rozhraní operačních systémů, zejména implementací některých dodatečných postupů pro rozdělování dodatečných zdrojů.

Skořápky operačního systému poskytují uživateli kvalitativně nové rozhraní ve srovnání s rozhraním implementovaným operačním systémem a činí znalost operačního systému volitelnou.

Utility automatizují provádění určitých standardních, často používaných postupů, jejichž implementace by od uživatele vyžadovala vývoj speciálních programů. Mnoho utilit má vyvinuté interaktivní rozhraní s uživatelem a úroveň komunikace se blíží shellům.

Softwarové nástroje (programovací systémy) jsou povinnou součástí softwaru, pomocí kterého jsou programy vytvářeny. Mezi softwarové nástroje patří nástroje pro psaní programů (textové editory); prostředky pro převod programů do podoby vhodné pro provádění na počítači (assemblery, kompilátory, interprety, zavaděče a editory odkazů), prostředky pro sledování a ladění programů.

Textové editory umožňují pohodlně upravovat, tvořit a kombinovat texty programů a některé umožňují ovládat syntaxi vytvořených programů.

Program napsaný v algoritmickém jazyce musí být převeden na objektový modul napsaný ve strojovém jazyce (binární kód). Takový převod provádějí překladatelé (assembler - z jazyka Assembler a kompilátory - z jazyků vysoké úrovně). Pro některé algoritmické jazyky se používají interpreti, kteří nevytvářejí objektový modul, ale s každým dalším spuštěním programu překládají každý jeho individuální řádek nebo příkaz do strojového jazyka. Objektový modul je zpracován loaderem - editorem odkazů, který jej převede na spustitelný strojový program.

Nástroje pro ladění umožňují sledovat programy (spouštění krok za krokem s informacemi o výsledcích provádění), kontrolovat syntaxi programu a mezivýsledky v bodech přerušení a upravovat hodnoty proměnných v těchto bodech.

Údržbové a servisní systémy jsou softwarové nástroje pro sledování, diagnostiku a obnovu funkčnosti počítače, disků atd.

Aplikační software poskytuje řešení uživatelských problémů. Klíčovým konceptem je zde aplikační balíček.

Aplikační softwarový balík je sada programů pro řešení řady problémů na určité téma nebo předmět. Rozlišují se následující typy aplikačních balíčků:

1) obecný účel - zaměřený na automatizaci širokého spektra uživatelských úloh (textové procesory, tabulkové editory, systémy pro správu databází, grafické procesory, publikační systémy, systémy pro automatizaci návrhu atd.);

2) metodicky orientovaná - implementace různých ekonomických a matematických metod pro řešení problémů (matematické programování, plánování a řízení sítí, teorie hromadné obsluhy, matematická statistika atd.);

3) orientovaný na problém - zaměřený na řešení konkrétního úkolu (problému) v konkrétní tematické oblasti (bankovní balíčky, účetní balíčky, finanční řízení, právní referenční systémy atd.).

Aplikační software zahrnuje servisní software, který slouží k organizaci pohodlného pracovního prostředí pro uživatele a také k provádění pomocných funkcí (správci informací, překladatelé atd.).

Při konstrukci klasifikace softwaru je třeba vzít v úvahu skutečnost, že rychlý rozvoj výpočetní techniky a rozšiřování rozsahu počítačových aplikací prudce urychlily proces evoluce softwaru. Pokud dříve bylo snadné vyjmenovat hlavní kategorie softwaru - operační systémy, překladače, balíčky aplikačního softwaru, nyní se situace radikálně změnila. Vývoj softwaru šel jak do hloubky (objevily se nové přístupy k budování operačních systémů, programovacích jazyků atd.), tak do šířky (aplikační programy se přestaly uplatňovat a získaly samostatnou hodnotu). Vztah mezi požadovanými softwarovými produkty a těmi dostupnými na trhu se velmi rychle mění. I klasické softwarové produkty, jako jsou operační systémy, se neustále vyvíjejí a jsou vybaveny inteligentními funkcemi, z nichž mnohé se dříve týkaly pouze intelektuálních schopností člověka.

2. Nástrojový software

2.1 Podstata a koncepce softwarových nástrojů

Instrumentální software (IPO) je software určený pro použití při návrhu, vývoji a údržbě programů.

Nástroje se používají ve fázi vývoje. Nástrojový software je soubor programů, které pomáhají programátorům v jejich práci, pomáhají manažerům vývoje softwaru v jejich úsilí řídit proces vývoje a výsledné produkty. Nejznámějšími představiteli této části softwaru jsou překladatelské programy z programovacích jazyků, které pomáhají programátorům psát strojové příkazy. Instrumentální programy jsou překladatelé z jazyků Fortran, Cobol, Joe-vial, BASIC, APL a Pascal. Usnadňují proces tvorby nových pracovních programů. Jazykové překladače jsou však pouze nejznámější částí instrumentálních programů; je jich velké množství.

Používání počítačů k vytváření nových programů není pro lidi, kteří nejsou profesionálními programátory, zdaleka samozřejmé. Často se stává, že profesionálové mluví o nástrojovém (vývojová fáze) a systémovém (fáze použití) softwaru stejným dechem, za předpokladu, že ti, kteří nejsou zasvěceni do tajů svého řemesla, si tuto roli nástrojového softwaru uvědomují. Stejně jako ve fázi používání (pro aplikační programy) funguje systémový software také ve fázi vývoje, ale pouze ve spojení s nástroji. Nástrojový software nebo programovací systémy jsou systémy pro automatizaci vývoje nových programů v programovacím jazyce.

V nejobecnějším případě pro vytvoření programu ve zvoleném programovacím jazyce (systémový programovací jazyk) potřebujete mít následující komponenty:

1. Textový editor pro vytvoření souboru se zdrojovým textem programu.

2. Kompilátor nebo interpret. Zdrojový text je přeložen do středního objektového kódu pomocí kompilátoru. Zdrojový kód velkého programu se skládá z několika modulů (zdrojových souborů). Každý modul je zkompilován do samostatného souboru s objektovým kódem, který se pak musí spojit do jednoho.

3. Link editor nebo assembler, který spojuje objektové moduly a vytváří funkční aplikaci jako výstup – spustitelný kód.

Spustitelný kód je kompletní program, který lze spustit na libovolném počítači s operačním systémem, pro který byl program vytvořen. Výsledný soubor má zpravidla příponu .EXE nebo .COM.

V poslední době se rozšířily metody vizuálního programování (pomocí skriptovacích jazyků) zaměřené na vytváření aplikací pro Windows. Tento proces je v prostředí rychlého návrhu automatizován. V tomto případě se používají hotové vizuální komponenty, které se konfigurují pomocí speciálních editorů.

Nejoblíbenější editory (programovací systémy využívající vizuální nástroje) pro vizuální design:

1) Borland Delphi – navrženo tak, aby řešilo téměř jakýkoli problém s programováním aplikací.

2) Borland C++ Builder je vynikající nástroj pro vývoj aplikací pro DOS a Windows.

3) Microsoft Visual Basic je oblíbený nástroj pro tvorbu programů pro Windows.

4) Microsoft Visual C++ - tento nástroj umožňuje vyvíjet libovolné aplikace běžící v prostředí OS, jako je Microsoft Windows

Podstatou instrumentálního softwaru je tedy vytvoření libovolného spustitelného programu převodem formálních logických výrazů do spustitelného strojového kódu, stejně jako jeho ovládání a úprava.

2.2 Úkoly a funkce softwaru nástroje

Instrumentální software, jako speciální typ softwaru, se vyznačuje obecným a soukromým

funkcí, jako u veškerého softwaru obecně. Obecné funkce jsou diskutovány výše a specializované funkce vlastní pouze tomuto typu programu jsou:

1. Vytváření textu vyvíjeného programu pomocí speciálně zavedených kódových slov (programovací jazyk), dále určité sady znaků a jejich umístění ve vytvářeném souboru - syntaxe programu.

2. Překlad textu vytvořeného programu do strojově orientovaného kódu, přístupného pro počítačové rozpoznání. Pokud je objem vytvořeného programu významný, je rozdělen do samostatných modulů a každý z modulů je překládán samostatně.

3. Propojení jednotlivých modulů do jednoho spustitelného kódu, při dodržení potřebné struktury, zajišťující koordinaci interakce jednotlivých částí mezi sebou.

4. Testování a sledování vytvořeného programu, identifikace a odstraňování formálních, logických a syntaktických chyb, kontrola programů na přítomnost zakázaných kódů, jakož i hodnocení výkonu a potenciálu vytvořeného programu.

2.3 Typy softwarových nástrojů

Na základě úkolů přiřazených přístrojovému softwaru můžeme rozlišit velké množství různých typů přístrojového softwaru:

1) Textové editory

2) Integrovaná vývojová prostředí

4) Kompilátory

5) Tlumočníci

6) Linkery

7) Analyzátory a generátory analyzátorů (viz Javacc)

8) Montážníci

9) Debuggery

10) Profilovači

11) Generátory dokumentace

12) Nástroje pro analýzu pokrytí kódu

13) Nástroje kontinuální integrace

14) Automatizované testovací nástroje

15) Systémy kontroly verzí atd.

Je třeba poznamenat, že shelly pro vytváření aplikačních programů jsou také vytvářeny nástrojovými programy, a proto je lze klasifikovat jako aplikační programy. Podívejme se krátce na účely některých instrumentálních programů.

Textové editory.

Textový editor je počítačový program určený ke zpracování textových souborů, jako je vytváření a provádění změn.

Typy textových editorů.

Obvykle existují dva typy editorů: streamingové textové editory a interaktivní.

Stream textové editory jsou počítačové programy, které jsou navrženy tak, aby automaticky zpracovávaly vstupní textová data přijatá z textového souboru v souladu s pravidly předem definovanými uživateli. Nejčastěji jsou pravidly regulární výrazy v dialektu specifickém pro daný textový editor. Příkladem takového textového editoru je editor Sed.

Interaktivní textové editory jsou rodinou počítačových programů navržených k interaktivnímu provádění změn v textovém souboru. Takové programy umožňují zobrazit aktuální stav textových dat v souboru a provádět s ním různé akce.

Interaktivní textové editory často obsahují významné dodatečné funkce určené k automatizaci části editačních akcí nebo ke změně zobrazení textových dat v závislosti na jejich sémantice. Příkladem posledního typu funkčnosti je zvýraznění syntaxe.

Textové editory jsou určeny pro vytváření a úpravu textových dokumentů. Nejběžnější jsou MS WORD, Lexicon. Hlavní funkce textových editorů jsou:

1) práce s fragmenty dokumentů,

2) vkládání objektů vytvořených v jiných programech

3) rozdělení textu dokumentu na stránky

4) zadávání a editace tabulek

5) zadávání a úpravy vzorců

6) formátování odstavce

7) automatické vytváření seznamů

8) automatické vytvoření obsahu.

Jsou známy desítky textových editorů. Nejdostupnější jsou NOTEPAD (notepad), WORDPAD, WORD. Činnost konkrétního textového editoru je obvykle určena funkcemi, jejichž účel se odráží v položkách menu a v systému nápovědy.

Integrované vývojové prostředí

Integrované vývojové prostředí, ISD, je softwarový systém používaný programátory k vývoji softwaru. Vývojové prostředí obvykle zahrnuje:

1) textový editor

2) kompilátor a/nebo interpret

3) nástroje pro automatizaci montáže

4) debugger.

Někdy obsahuje také nástroje pro integraci se systémy správy verzí a různé nástroje pro zjednodušení návrhu grafického uživatelského rozhraní. Mnoho moderních vývojových prostředí také zahrnuje prohlížeč tříd, inspektor objektů a diagram hierarchie tříd pro použití v objektově orientovaném vývoji softwaru. Přestože existují vývojová prostředí navržená pro několik programovacích jazyků – např. Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator nebo Microsoft Visual Studio, většinou je vývojové prostředí určeno pro jeden konkrétní programovací jazyk – např. Visual Basic, Delphi, Dev. -C++.

Speciálním případem ISR je vizuální vývojové prostředí, které zahrnuje možnost vizuální úpravy rozhraní programu.

SDK.

SDK (z anglického SoftwareDevelopmentKit) nebo „devkit“ je vývojová sada, která umožňuje softwarovým specialistům vytvářet aplikace pro konkrétní softwarový balík, základní vývojový software, hardwarovou platformu, počítačový systém, videoherní konzole, operační systémy a další platformy.

Programátor zpravidla obdrží SDK přímo od vývojáře cílové technologie nebo systému. Sada SDK je často distribuována přes internet. Mnoho sad SDK je distribuováno zdarma, aby povzbudilo vývojáře k používání dané technologie nebo platformy.

Dodavatelé SDK někdy nahrazují termín Software v Software Development Kit přesnějším slovem. Microsoft a Apple například poskytují sady Driver Development Kit (DDK) pro vývoj ovladačů zařízení a PalmSource nazývá svou sadu nástrojů pro vývoj PalmOS Development Kit (PDK).

Příklady SDK :

5) Java Development Kit

6) Opera Devices SDK

Kompilátory.

Kompilátor -

1) Program nebo technický nástroj, který provádí kompilaci.

2) Strojový program použitý pro kompilaci.

3) Překladač, který převádí program napsaný ve zdrojovém jazyce na objektový modul.

4) Program, který překládá text programu v jazyce vyšší úrovně do ekvivalentního programu ve strojovém jazyce.

5) Program určený k překladu jazyka na vysoké úrovni do absolutního kódu nebo někdy do jazyka symbolických instrukcí. Vstupní informací do kompilátoru (zdrojový kód) je popis algoritmu nebo programu v problémově orientovaném jazyce a výstupem kompilátoru je ekvivalentní popis algoritmu ve strojově orientovaném jazyce (objektový kód).

Kompilace -

1) Překlad programu do jazyka blízkého strojovému jazyku.

2) Překlad programu napsaného ve zdrojovém jazyce do objektového modulu. Provádí kompilátor.

Kompilovat - přeložit strojový program z problémově orientovaného jazyka do strojově orientovaného jazyka.

Typy překladačů :

1) Vektorizace. Překládá zdrojový kód do strojového kódu na počítačích vybavených vektorovým procesorem.

2) Flexibilní. Modulární, tabulkový a naprogramovaný v jazyce vysoké úrovně nebo implementovaný pomocí kompilátoru kompilátorů.

3) Dialog.

4) Přírůstkové. Znovu přenáší fragmenty programu a jeho dodatky bez opětovné kompilace celého programu.

5) Interpretační (krok za krokem). Postupně provádí nezávislou kompilaci každého jednotlivého příkazu (příkazu) zdrojového programu.

6) Kompilátor překladačů. Překladač, který přijímá formální popis programovacího jazyka a generuje kompilátor pro tento jazyk.

7) Ladění. Eliminuje určité typy syntaktických chyb.

8) Rezident. Trvale žije v hlavní paměti a je k dispozici pro opakované použití pro mnoho úkolů.

9) Vlastní kompilace. Napsáno ve stejném jazyce, ze kterého se vysílá.

10) Univerzální. Na základě formálního popisu syntaxe a sémantiky vstupního jazyka. Komponenty takového kompilátoru jsou: jádro, syntaktické a sémantické zavaděče.

Typy kompilace :

1) Dávka. Kompilace více zdrojových modulů do jedné položky úlohy.

2) Řádek po řádku.

3) Podmíněné. Kompilace, ve které přeložený text závisí na podmínkách specifikovaných ve zdrojovém programu. Takže v závislosti na hodnotě určité konstanty můžete zapnout nebo vypnout překlad části textu programu.

Struktura kompilátoru.

Proces kompilace se skládá z následujících kroků:

1) Lexikální analýza. V této fázi je sekvence znaků ve zdrojovém souboru převedena na sekvenci tokenů.

2) Syntaktická (gramatická) analýza. Posloupnost tokenů se převede do stromu analýzy.

3) Sémantická analýza. Syntaktický strom je zpracován za účelem stanovení jeho sémantiky (významu) – například navázání identifikátorů na jejich deklarace, typy, kontrola kompatibility, určení typů výrazů atd. Výsledek se obvykle nazývá „mezilehlá reprezentace/kód“ a může být rozšířen o strom analýzy, nový strom, abstraktní sada příkazů nebo něco jiného vhodného pro další zpracování.

4) Optimalizace. Odstranění nepotřebných struktur a zjednodušení kódu při zachování jeho smyslu. Optimalizace může být na různých úrovních a fázích – například na mezikódu nebo na konečném strojovém kódu.

5) Generování kódu. Z prostřední reprezentace je generován kód v cílovém jazyce.

Ve specifických implementacích kompilátoru mohou být tyto fáze odděleny nebo kombinovány v té či oné formě.

Vysílání a postprodukce.

Důležitým historickým rysem kompilátoru, odrážejícím se v jeho názvu (anglicky: kompilovat - dát dohromady, skládat), bylo, že uměl provádět i linkování (to znamená, že obsahoval dvě části - překladač a linker). To je způsobeno skutečností, že samostatná kompilace a propojení jako samostatná fáze sestavení se objevily mnohem později než nástup kompilátorů. V tomto ohledu se místo výrazu „překladač“ někdy používá jako synonymum výraz „překladač“: buď ve staré literatuře, nebo když chtějí zdůraznit jeho schopnost přeložit program do strojového kódu (a naopak, termín „kompilátor“ se používá pro zdůraznění schopnosti kompilovat z mnoha souborů jeden).

Tlumočníci.

Tlumočník (programovací jazyk) -

1) Program nebo technický nástroj, který provádí interpretaci.

2) Typ překladače, který provádí zpracování příkazu po příkazu (příkaz po příkazu) a spouštění zdrojového programu nebo dotazu (na rozdíl od kompilátoru, který přeloží celý program bez jeho spuštění).

3) Program (někdy hardware), který analyzuje příkazy nebo příkazy programu a okamžitě je provádí.

4) Jazykový procesor, který analyzuje zdrojový program řádek po řádku a současně provádí předepsané akce, spíše než generuje zkompilovaný program ve strojovém jazyce, který je následně spouštěn.

Typy tlumočníků.

Jednoduchý interpret analyzuje a okamžitě provádí (skutečnou interpretaci) program příkaz po příkazu (nebo řádek po řádku), jak jeho zdrojový kód dorazí na vstup interpretu. Výhodou tohoto přístupu je okamžitá odezva. Nevýhodou je, že takový interpret detekuje chyby v textu programu pouze při pokusu o provedení příkazu (nebo řádku) s chybou.

Interpret typu kompilátor je systém skládající se z kompilátoru, který překládá zdrojový kód programu do přechodné reprezentace, například do bajtkódu nebo p-kódu, a ze samotného interpretu, který provádí výsledný mezikód (tzv. nazývaný virtuální stroj). Výhodou těchto systémů je větší rychlost provádění programu (z důvodu odstranění analýzy zdrojového kódu do samostatného, ​​jednorázového průchodu a minimalizace této analýzy v interpretu). Nevýhody jsou větší nároky na zdroje a požadavek na správnost zdrojového kódu. Používá se v jazycích jako Java, PHP, Python, Perl (používá se bytecode), REXX (ukládá se výsledek analýzy zdrojového kódu) a také v různých DBMS (používá se p-kód).

Pokud je interpret typu kompilátor rozdělen na komponenty, výsledkem je kompilátor jazyka a jednoduchý interpret s minimální analýzou zdrojového kódu. Zdrojový kód takového interpretu navíc nemusí být v textovém formátu nebo bajtkódu, kterému rozumí pouze tento interpret, může to být strojový kód některé existující hardwarové platformy. Například virtuální stroje jako QEMU, Bochs, VMware zahrnují interprety strojového kódu pro procesory rodiny x86.

Některé interprety (například pro jazyky Lisp, Scheme, Python, BASIC a další) mohou pracovat v dialogovém režimu nebo tzv. read-eval-printloop (REPL). V tomto režimu interpret přečte kompletní jazykovou konstrukci (například s-výraz v Lisp), provede ji, vytiskne výsledky a poté pokračuje v čekání, až uživatel zadá další konstrukci.

Unikátní je jazyk Forth, který je schopen pracovat v režimu interpretace i kompilace vstupních dat a umožňuje mezi těmito režimy kdykoli přepínat, a to jak během překladu zdrojového kódu, tak za běhu programů.

Je třeba také poznamenat, že interpretační režimy lze nalézt nejen v softwaru, ale také v hardwaru. Mnoho mikroprocesorů tedy interpretuje strojový kód pomocí vestavěného firmwaru a procesory rodiny x86, počínaje Pentiem (například na architektuře Intel P6), během provádění strojového kódu jej předem překládají do interního formátu. (do sekvence mikrooperací).

Algoritmus pro jednoduchý interpret :

2. analyzovat pokyny a určit vhodná opatření;

3. přijmout vhodná opatření;

4. Pokud není dosaženo podmínky ukončení programu, přečtěte si následující pokyny a přejděte ke kroku 2.

Výhody a nevýhody tlumočníků.

1) Větší přenositelnost interpretovaných programů – program poběží na jakékoli platformě, která má vhodný interpret.

2) Zpravidla pokročilejší a vizuálnější prostředky diagnostiky chyb ve zdrojových kódech.

3) Zjednodušení ladění zdrojových kódů programu.

4) Menší velikosti kódu ve srovnání se strojovým kódem získaným z konvenčních kompilátorů.

1) Interpretovaný program nelze spustit samostatně bez interpretačního programu. Samotný tlumočník může být velmi kompaktní.

2) Interpretovaný program běží pomaleji, protože mezianalýza zdrojového kódu a plánování jeho spuštění vyžaduje více času ve srovnání s přímým prováděním strojového kódu, do kterého by mohl být zdrojový kód zkompilován.

3) Prakticky nedochází k optimalizaci kódu, což vede k dalším ztrátám v rychlosti interpretovaných programů.

Linker.

Linker (také link editor, linker) - program, který provádí linkování - bere jeden nebo více objektových modulů jako vstup a sestavuje z nich spustitelný modul.

K propojení modulů používá linker tabulky názvů vytvořené kompilátorem v každém z objektových modulů. Taková jména mohou být dvou typů:

1) Definované nebo exportované názvy - funkce a proměnné definované v daném modulu a zpřístupněné pro použití jinými moduly.

2) Nedefinované nebo importované názvy - funkce a proměnné, na které modul odkazuje, ale interně je nedefinuje.

Úkolem linkeru je vyřešit odkazy na nedefinované názvy v každém modulu. U každého importovaného jména je jeho definice nalezena v jiných modulech, zmínka o názvu je nahrazena jeho adresou.

Linker obecně nekontroluje typy a počet parametrů procedur a funkcí. Pokud potřebujete zkombinovat objektové moduly programů napsaných v jazycích se silným psaním, je nutné před spuštěním editoru odkazů provést potřebné kontroly pomocí dalšího nástroje.

Assembler.

Assembler (z anglického assembler - assembler) je počítačový program, překladač zdrojového textu programu napsaného v assembleru do programu ve strojovém jazyce.

Stejně jako samotný (assembly) jazyk jsou assemblery typicky specifické pro konkrétní architekturu, operační systém a variantu syntaxe jazyka. Zároveň existují multiplatformní nebo dokonce univerzální (přesněji omezeně univerzální, protože je nemožné psát hardwarově nezávislé programy v nízkoúrovňovém jazyce) assemblery, které mohou běžet na různých platformách a operačních systémech. Mezi posledně jmenovanými lze také rozlišit skupinu cross-assemblerů schopných shromažďovat strojový kód a spustitelné moduly (soubory) pro jiné architektury a operační systémy.

Sestavení nemusí být prvním ani posledním krokem na cestě k získání modulu spustitelného programu. Mnoho kompilátorů z programovacích jazyků na vysoké úrovni tedy vytváří výsledek ve formě programu v assembleru, který je dále zpracováván assemblerem. Výsledkem sestavení také nemusí být spustitelný soubor, ale objektový modul obsahující nesourodé a nesouvisející části strojového kódu a programových dat, z nichž (nebo z několika objektových modulů) lze později sestavit pomocí linkerového programu („linker“). spustitelný soubor.

Ladicí program nebo debugger je modul vývojového prostředí nebo samostatná aplikace určená k vyhledávání chyb v programu. Ladicí program vám umožňuje provádět krok za krokem trasování, monitorovat, nastavovat nebo měnit hodnoty proměnných během provádění programu, nastavovat a odstraňovat body přerušení nebo podmínky zastavení atd.

Seznam debuggerů.

1) AQtime je komerční debugger pro aplikace vytvořené pro .NET Framework verze 1.0, 1.1, 2.0, 3.0, 3.5 (včetně aplikací ASP.NET) a také pro Windows 32- a 64bitové aplikace.

2) DTrace - dynamický sledovací rámec pro Solaris, OpenSolaris, FreeBSD, Mac OS X a QNX.

3) Electric Fence - ladicí program paměti.

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

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

6) Microsoft Visual Studio – prostředí pro vývoj softwaru, které obsahuje ladicí nástroje od společnosti Microsoft.

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

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

9) Sun Studio – vývojové prostředí softwaru, včetně debuggeru dbx pro OS Solaris a Linux, od Sun Microsystems Corporation.

10) Dr. Watson je standardní ladicí program Windows, který umožňuje vytvářet výpisy paměti.

11) TotalView je jeden z komerčních debuggerů pro UNIX.

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

Generátor dokumentace je program nebo softwarový balík, který umožňuje získat dokumentaci určenou pro programátory (dokumentace API) a/nebo pro koncové uživatele systému pro speciálně komentovaný zdrojový kód a v některých případech pro spustitelné moduly (získané na výstupu kompilátoru).

Generátor obvykle analyzuje zdrojový kód programu a zvýrazňuje syntaktické struktury odpovídající významným objektům programu (typy, třídy a jejich členy/vlastnosti/metody, procedury/funkce atd.). Analýza využívá také metainformace o objektech programu, prezentované formou dokumentujících komentářů. Na základě všech shromážděných informací se vygeneruje hotová dokumentace, obvykle v některém z obecně uznávaných formátů – HTML, HTMLHelp, PDF, RTF a další.

Dokumentování komentářů.

Dokumentační komentář je speciálně formátovaný komentář k objektu programu určený pro použití specifickým generátorem dokumentace. Syntaxe konstrukcí použitých v dokumentování komentářů závisí na tom, který generátor dokumentace je použit.

Dokumentační komentáře mohou obsahovat informace o autorovi kódu, popisovat účel objektu programu, význam vstupních a výstupních parametrů pro funkci/proceduru, příklady použití, možné výjimečné situace a implementační funkce.

Dokumentační komentáře jsou obvykle formátovány jako víceřádkové komentáře ve stylu C. V každém případě se komentář musí objevit před dokumentovaným prvkem. První znak v komentáři (a na začátku řádků komentáře) musí být *. Bloky jsou odděleny prázdnými řádky.

3. Visual Basic for Applications

softwarový operační systém

3.1 Podstata VisualBasic a jeho stručná historie

Microsoft Visual Basic (VB) je nástroj pro vývoj softwaru vyvinutý společností Microsoft Corporation, který obsahuje programovací jazyk a vývojové prostředí. Jazyk Visual Basic zdědil ducha, styl a částečně i syntaxi svého předka - jazyka BASIC, který má mnoho dialektů. Visual Basic zároveň kombinuje postupy a prvky objektově orientovaných a komponentově orientovaných programovacích jazyků. Vývojové prostředí VB obsahuje nástroje pro vizuální návrh uživatelských rozhraní. (viz tabulka).

Visual Basic (klíčové funkce)

Visual Basic je považován za dobrý nástroj pro rychlý vývoj prototypů programů, pro vývoj databázových aplikací a obecně pro komponentní metodu vytváření programů běžících pod operačními systémy rodiny Microsoft Windows.

V procesu evoluce prošel Visual Basic řadou po sobě jdoucích fází, které mu umožnily stát se jedním z nejpopulárnějších programovacích jazyků současnosti. Takže evoluce VisualBasic šel následujícím způsobem:

1. Květen 1991 – Visual Basic 1.0 byl vydán pro Microsoft Windows. Jako základ jazyka byla vzata syntaxe QBasic a inovací, která později přinesla jazyku obrovskou popularitu, byl princip propojení jazyka a grafického rozhraní.

2. Září 1992 - Vydán Visual Basic 1.0 pro DOS. Nebyl plně kompatibilní s verzí Windows VB, protože se jednalo o následnou verzi QuickBASIC a běžel v režimu obrazovky založené na textu.

3. Listopad 1992 - Vydán Visual Basic 2.0. Vývojové prostředí se stalo jednodušším a rychlejším.

4. v létě 1993 - Visual Basic 3.0 byl vydán ve verzích Standard a Professional. Do balíčku navíc přibyl engine pro práci s databázemi Accessu.

5. Srpen 1995 – Visual Basic 4.0 – verze, která mohla vytvářet 32 ​​i 16bitové programy Windows.

6. Únor 1997 - Visual Basic 5.0 - počínaje touto verzí bylo možné spolu s běžnými aplikacemi vyvíjet komponenty COM.

7. V polovině roku 1998 byl vydán Visual Basic 6.0. Poté Microsoft dramaticky změnil své zásady týkající se základních jazyků. Místo vývoje Visual Basicu vznikl zcela nový jazyk Visual Basic .NET.

8. V roce 2005 byla vydána nová verze jazyka Visual Basic, která je součástí sady Visual Studio. Byla spokojena s novým rozhraním a možnostmi. Jazyk je založen na Visual Basic.NET.

9. Na konci roku 2007 Microsoft vydal novou verzi Visual Basicu – Visual Basic 2008, která byla rovněž založena na Visual Basic.NET.

Na základě funkčnosti a specifik aplikace lze rozlišit následující typy tohoto programu:

1. Classic Visual Basic (verze 5-6) Tento jazyk je velmi silně svázán se svým vývojovým prostředím a operačním systémem Windows a je výhradně nástrojem pro psaní aplikací pro Windows

2. VisualBasicforApplications (VBA) Jedná se o programovací nástroj, prakticky se nelišící od klasického Visual Basicu, který je určen pro psaní maker a dalších aplikačních programů pro konkrétní aplikace. Největší oblibu si získal díky použití v sadě Microsoft Office. Rozšířené používání jazyka Visual Basic for Applications v kombinaci s počátečním nedostatkem pozornosti k bezpečnostním problémům vedlo k širokému použití makrovirů.

3. VisualBasicScriptingEdition (VBScript) Skriptovací jazyk, který je poněkud zkrácenou verzí obvyklého jazyka Visual Basic. Používá se především k automatizaci administrace systémů Windows a také k vytváření stránek ASP a skriptů pro Internet Explorer.

3.2 Rozhraní VisualBasicforApplication, hlavní funkce a možnosti

Vytvořením VisualBasicforApplication si společnost Microsoft Corporation za svůj hlavní cíl stanovila vytvoření nástrojů, které jsou přístupné uživatelům, kteří nejsou profesionálními programátory, ale zároveň mají dostatečnou kvalifikaci pro vývoj a návrh aplikačních programů a aplikací založených na Microsoft Office. Právě k vyřešení tohoto problému vývojáři vytvořili VBA a vybavili jej řadou jedinečných funkcí. Jedním z nich, nejcennějším pro uživatele, je možnost vytvářet a používat nestandardní (vlastní) dialogová okna v programech přidáním objektu UserForm do projektu a také pohodlné uživatelské rozhraní.

Rozhraní programu VisualBasicforApplication se skládá ze sady různých oken a záložek používaných při návrhu vytvářené aplikace, z nichž hlavní jsou:

1) Okno projektu (obr. 2), zobrazující strukturu vytvářeného projektu.

2) okno Program Code (obr. 3), zobrazující programový kód vytvářeného projektu a umožňující napsat program klasickým způsobem pomocí vestavěného editoru kódových slov, kterých je více než 16 tis. VBA. Toto okno také umožňuje upravit kód a zkontrolovat, zda neobsahuje chyby.

3) záložka Vlastnosti (obr. 4), která zobrazuje nastavené parametry pro daný objekt a umožňuje měnit zadaná nastavení.

Pohybem mezi okny a kartami si uživatel může snadno přizpůsobit vytvořený projekt.

Pomocí formulářů vytvořených uživatelem VBA můžete vytvářet vlastní dialogová okna pro zobrazení dat nebo příjem hodnot od uživatele programu způsobem, který nejlépe vyhovuje potřebám programu. Můžete například vytvořit test, zobrazit dialogové okno pro zobrazení otázek s možností výběru z více odpovědí a umožnit uživateli vybrat jednu z možností odpovědi, o které se domnívá, že je správná.

Nestandardní dialogová okna umožňují programu komunikovat s uživatelem nejsložitějším způsobem a poskytují rozmanitou formu vstupu a výstupu dat.

Vlastní dialogové okno se vytvoří ve VBA přidáním objektu UserForm do projektu. Tento objekt představuje prázdné dialogové okno; má záhlaví a tlačítko pro zavření, ale postrádá jakékoli další ovládací prvky. Vlastní dialogové okno se vytvoří přidáním ovládacích prvků do objektu UserForm a obvykle se jednoduše nazývá formulář (obrázek 5).

Každý objekt UserForm má vlastnosti, metody a události, které dědí z třídy objektu UserForm.

Každý objekt UserForm obsahuje také modul třídy, do kterého uživatel přidává své vlastní metody a vlastnosti nebo zapisuje procedury zpracování událostí pro daný formulář.

Možnost vytvořit si vlastní rozhraní, nezávislé na prostředí aplikace, jako je Excel, pomocí zobrazovacích formulářů je jednou z nejcennějších funkcí VBA.

Obrazovkové formuláře jsou okna různých účelů a typů vytvořená uživatelem pro jeho aplikaci. Obsahují ovládací prvky, které umožňují uživateli vyměňovat si informace s aplikací.

VBA používá vytvořený grafický návrh formuláře - s nastavením vlastností formuláře a ovládacích prvků - k získání všech informací nezbytných k zobrazení dialogového okna: rozměry dialogového okna, ovládací prvky v něm atd. Výsledkem je, že VBA umožňuje zobrazit formulář dialogového okna s jediným příkazem.

Chcete-li zobrazit vlastní dialogové okno, použijte metodu Zobrazit objektu UserForm. Pokud formulář není aktuálně načten do paměti, metoda Show jej načte a zobrazí. Pokud je formulář již načten, metoda Show jej jednoduše zobrazí.

Zobrazení jediného dialogového okna obvykle k dokončení úkolu nestačí. Téměř vždy chcete zjistit stav ovládacích prvků dialogového okna, abyste zjistili, jaká data nebo možnosti uživatel vybral. Pokud se například dialogové okno používá k získání informací od uživatele o tom, podle kterých sloupců a řádků by měl být list seřazen, musíte být schopni zjistit, jaké hodnoty uživatel zadal po zavření dialogového okna a před skutečně začíná objednávková operace.

V jiných případech můžete chtít dynamicky měnit názvy tlačítek (nebo jiných ovládacích prvků) v dialogovém okně, dynamicky aktualizovat popisek nebo pole spojené s čítačem nebo dynamicky ověřovat data zadaná do dialogového okna.

Ve VBA je možné výrazně rozšířit sadu funkcí zabudovaných do standardní aplikace, jako je Microsoft Excel, a také vytvářet funkce, jejichž hodnoty závisí na určitých podmínkách a událostech.

VBA umožňuje programovat tabulkové funkce. Chcete-li vytvořit samostatný list pro programový modul, použijte kartu Vložit modul z nabídky Vizuální a příkaz Modul z nabídky Vložit makro. Poté se objeví nový list "Modele1". V programovém modulu potřebujete popsat funkci ve VBA. V okně programového modulu můžete pracovat, jako byste byli v malém okně textového editoru.

Vkládání funkcí se provádí příkazem Prohlížeč objektů z nabídky Zobrazit. Uživatelsky definované funkce jsou v programu považovány za nezávislé objekty. VBA má významnou sadu vestavěných funkcí, které je rozdělují do typů.

Visual Basic umožňuje rezervovat proměnné s velikostí i bez ní, pracovat s různými datovými typy, používat konstanty, pracovat s matematickými operátory a funkcemi a používat další operátory. Je zajištěno použití operátorů smyčky For Next, Do a objektů typu „časovač“ (v programu neviditelné stopky). Přesnost nastavení času v programu je 1 milisekunda, neboli 1/1000 sec. Spuštěný časovač neustále běží - tzn. odpovídající procedura zpracování přerušení se provádí ve stanoveném časovém intervalu - dokud uživatel nezastaví časovač nebo deaktivuje program.

Ve VBA můžete nastavit libovolnou vlastnost formuláře, včetně názvu, velikosti, typu ohraničení, barvy pozadí a znaků, písma textu a obrázku na pozadí.

Pokud shrneme všechny funkce programu, pak Visual Basic forApplication umožňuje:

1) práce s ovládáním

Výhody :

1. Vysoká rychlost tvorby aplikací s grafickým rozhraním pro MS Windows.

2. Jednoduchá syntaxe, která vám umožní velmi rychle zvládnout jazyk.

3. Možnost překladu jak do strojového kódu, tak do P-kódu (dle volby programátora). V režimu ladění je program vždy (bez ohledu na volbu) zkompilován do P kódu, což vám umožňuje pozastavit program, provést významné změny ve zdrojovém kódu a poté pokračovat v provádění bez nutnosti kompletní rekompilace a restartu programu. .

4. Ochrana proti chybám spojeným s používáním ukazatelů a přístupem do paměti. Tento aspekt dělá aplikace Visual Basic stabilnější, ale je také předmětem kritiky.

5. Možnost používat většinu funkcí WinAPI k rozšíření funkčnosti aplikace. Touto problematikou se nejvíce zabýval Dan Appleman, který napsal knihu „Visual Basic Programmer's Guide to the Win32 API“.

Kritika :

1. Aspekty jazyka Visual Basic jsou často kritizovány, jako je schopnost zakázat sledování deklarovaných proměnných, schopnost implicitně převádět proměnné a přítomnost datového typu „Variant“. Podle kritiků to umožňuje psát extrémně špatný kód. Na druhou stranu to lze považovat za plus, protože VB nevnucuje „dobrý styl“, ale dává větší svobodu programátorovi.

2. Nedostatek ukazatelů, nízkoúrovňový přístup do paměti, vložky ASM. Navzdory skutečnosti, že paradigma jazyka Visual Basic umožňuje průměrnému programátorovi VB obejít se bez toho všeho, tyto věci se také často stávají předmětem kritiky. A ačkoli pomocí nezdokumentovaných funkcí a určitých triků lze toto vše implementovat ve VB (například pomocí funkcí pro získání ukazatelů VarPtr(), StrPtr() a ObjPtr()); Použití těchto triků je mnohem obtížnější než například v C++.

Je však třeba poznamenat, že všechny nevýhody jazyka vyplývají z jeho hlavní výhody - snadného vývoje grafického rozhraní. Proto mnoho programátorů používá Visual Basic k vývoji uživatelského rozhraní a implementuje funkcionalitu programu ve formě dynamických knihoven (DLL) napsaných v jiném jazyce (nejčastěji C++).

4. Praktická část

4.1 Problémové prohlášení

Nakreslete blokové schéma a napište program v Pascalu. Vypočítejte vnitřní hodnotu cenných papírů. Vnitřní hodnota aktiva je určena budoucím tokem příjmů z tohoto aktiva.

pv – aktuální vnitřní hodnota akcie

c – očekávaný příjem z daného aktiva

r – míra výnosu očekávaná investorem pro výnos s odpovídající úrovní rizika

n – časový faktor (v měsících).

Proveďte analýzu trhu a seřaďte výsledky vzestupně podle získaných dat.

4.2 Text programu v jazyce Pascal

pv: pole skutečných;

writeLn('Zadejte očekávanou účtenku z ',i,'th aktiva c:');

writeLn('Zadejte míru návratnosti očekávanou investorem r:');

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

writeLn('aktuální vnitřní hodnota aktiva je', pv[i]:1:3);

writeLn('Vlastní hodnota aktiva je', s);

pro j:=1 až 4 do

pokud pv[j] > pv pak

writeLn('Hodnota aktiv seřazená vzestupně');

pro i:=1 až 5 do

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

4.3 Testovací případ

4.4 Výsledek spuštění programu na testovacím příkladu

Závěr

Shrneme-li tedy vše výše uvedené, je třeba poznamenat, že nástrojový software je jedním z typů softwaru, který má své obecné úkoly a funkce.

Jelikož se však jedná o vysoce specializovaný typ softwaru, má určitý soubor jedinečných vlastností a funkcí, které poskytují řešení jeho specifických problémů.

Je třeba si povšimnout nastupujícího trendu zjednodušovat proces programování a vytvářet určitou podtřídu - poloprofesionální programování pro aplikované účely.

Právě to umožní zkušenému uživateli počítače, nikoli však profesionálnímu programátorovi, vytvářet určité aplikace a malé soubory spustitelné v prostředí Microsoft Office, používané především pro účetní účely a tok dokumentů v malých firmách.

Právě pro tento účel vyvinul Microsoft softwarový balík VisualBasicforApplication, který zjednodušuje proces programování a umožňuje uživatelům, spíše než programátorům, zapojit se do programování aplikací. Tato funkce byla implementována především vytvořením programové sekce – „Editor skriptů“ a schopností nahrávat a spouštět „Makra“ jako samostatný typ graficky programovatelných modulů. Byla implementována možnost vytvářet aplikace s grafickým rozhraním pro MS Windows. Další výhodou tohoto typu nástrojového softwaru je jeho jednoduchá syntaxe, která vám umožní rychle si osvojit jazyk a použít jej pro programování ve všech standardních aplikacích Microsoft Office.

Proto je obtížné přeceňovat význam nástrojů obecně a VisualBasicforApplication zvláště, i když nedostatky, jak bylo zmíněno výše, také existují. Nejedná se ale spíše ani o negativní aspekty produktu, ale spíše o pokyny pro další zlepšování softwaru v podobě VisualBasicforApplication.

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

2. PC Magazine ruské vydání č. 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í technologie: Učebnice / Ed. Romanova D.Yu. / Eksmo Publishing House LLC, 2007.

5. Nejnovější encyklopedie osobního počítače / Ed. Leontyeva V. /Moskva, 1999. – 271 str.

6. Nové programovací jazyky a trendy v jejich vývoji / Ed. Ushkova V. / 2001

7. Pedagogika / Ed. Pidkasistogo P.I./ – M.: Pedagogická společnost Rusko, 2000.

8. Programování pro Microsoft Excel 2000 za 21 dní. /Ed. Kharisa M./ – M.: Williams, 2000.

9. Simonovich S. Informatika: základní kurz. Učebnice pro univerzity. Petrohrad, Petr, 2002

10. S Excelem 2000 žádný problém. /Ed. Kowalski/ – M.: Binom, 2000.

11. „Efektivní práce ve Windows 98“ / Ed. Stinson K. / 2000. – 247 str.

12. Programovací jazyky. kniha 5 /Ed. Vaulina A.S. / 2003

13. Programovací jazyky: vývoj a implementace / Ed. Terrence P. / 2001

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

Technologie programování obecně a nástroje na podporu vývoje softwaru zvláště se vyvíjejí tak rychle, že i prostý výčet hlavních systémů nástrojů by v této knize zabral příliš mnoho místa. Proto se níže krátce zastavíme jen u několika projektů z oblasti programovací techniky, které jsou v kontextu této publikace zajímavé.

Jakýkoli vyvinutý technologický systém musí podporovat všechny hlavní fáze tvorby navrženého softwarového balíku. K dosažení tohoto cíle v celkové struktuře typický systém podpory technologického rozvoje(obr. 6.3) jsou obvykle izolované databáze projektů; navrhování a programování automatizačních subsystémů; ladění, dokumentace a subsystémy údržby, A také subsystém pro řízení postupu projektu.


Rýže. 6.3. Obecná struktura typického systému podpory technologického rozvoje

Vyvinuté systémy podpory vývoje knihoven se v současnosti používají po celém světě ve všech seriózních softwarových projektech. Ale v naprosté většině případů takové systémy dosáhly úrovně snadného použití pro kvalifikované programátory. Zajímají nás především systémy a projekty, které mají tendenci explicitně reprezentovat technologické znalosti, i když nejsou založeny na myšlenkách a metodách umělé inteligence.

Jeden z těchto projektů, Gandalf, je zaměřen na automatizované generování systémů pro vývoj softwaru. Výzkum prováděný v rámci projektu Gandalf se týká tří aspektů podpory návrhu softwaru: projektového řízení, správy verzí a inkrementálního programování a také jejich integrace do jednoho prostředí. Správa v prostředí Gandalf vychází z předpokladu, že vyvíjený projekt by měl být považován za soubor abstraktních datových typů, na kterých lze provádět pouze určité operace. Nástroj, který implementuje tento koncept, byl systém SDC (Software Development Control), což je sada programů zpočátku implementovaných v jazyce Shell v systému UNIX a později přeložených do jazyka C.

Výzkum v oblasti správy verzí zahájil L. Kooprider na základě projektu FAFOS, kde byly zpočátku analyzovány možnosti vytvoření rodiny operačních systémů. Byla vyvinuta notace pro popis interakce mezi subsystémy, pro popis různých verzí subsystémů (zdrojový a objektový kód, dokumentace atd.) a pro popis mechanismů fungujících ve fázi vývoje (kompilace, editace odkazů atd.). Poté byl vytvořen speciální jazyk Intercol jako prostředek pro popis vztahu a verzí modulů v systému. A konečně znalost toho, jak postavit systém z dílů, byla zabudována do systému, aniž by k tomu uživatel nutil. V návaznosti na tuto práci byl vytvořen SUCE, aby sledoval rozdíly mezi implementacemi (verze, které ve skutečnosti poskytují kód pro sadu specifikací) a kompozicemi (verze, které definují nové subsystémy jako skupiny existujících subsystémů).



V systému LOIPE (Language-Oriented Incremental Programming Environment) se inkrementální kompilace provádí na úrovni individuální procedury. Výhodou tohoto přístupu je, že když je procedura opravena na úrovni lokálních objektů nebo typů, je rekompilována pouze tato procedura. Pokud se specifikace změní, pak se překompilují všechny procedury, které na ní závisí. Uživatelské rozhraní se systémem LOIPE je založeno na syntakticky orientovaném editačním subsystému ALOE (A Language-Oriented Editor). Účelem vývoje tohoto subsystému bylo prostudovat možnost tvorby a použití syntakticky orientovaných editorů jako základu pro programovací prostředí.

Analýza literatury z posledních let o programovací technologii ukazuje, že novým odvětvím v technologii průmyslového vývoje a implementace složitých a významných softwarových systémů je Technologie CASE(Computer Aided Software Engineering).

Zpočátku se technologie CASE objevila v projektech na vytvoření průmyslových systémů pro zpracování dat. Tato okolnost se podepsala na technologických nástrojích CASE, kde byla nejvážnější pozornost věnována, alespoň v raných systémech CASE, podpoře návrhu informačních toků. V současné době dochází k odklonu od zaměření na systémy zpracování dat a technologické nástroje CASE jsou stále všestrannější.

Všechny nástroje podpory technologie CASE jsou rozděleny do dvou velkých skupin: CASE sady nástrojů A CASE-Workbenches. Pro tyto výrazy neexistují dobré ruské ekvivalenty. První z nich se však často nazývají „nástrojové truhly“ (vývojářské balíčky, technologické balíčky) a druhé jsou „stroje na výrobu softwaru“ (výrobní linky).

A-převorství CASE-Toolkit - soubor integrovaných softwarových nástrojů, které poskytují automatickou pomoc při řešení problémů stejného typu v procesu vytváření programů.

Takové balíčky využívají společné „úložiště“ pro všechny technické a manažerské informace o projektu (úložišti), jsou vybaveny společným uživatelským rozhraním a jednotným rozhraním mezi jednotlivými nástroji balíčku. CASE-Toolkit se obvykle soustředí na podporu vývoje jedné fáze produkce programu nebo jednoho typu aplikačního problému.

Vše výše uvedené platí také pro CASE-WorkBench. Zde je však navíc poskytována automatizovaná podpora pro analýzu řešených úloh softwarové produkce, která vychází z obecných předpokladů o procesu a technologii těchto činností; je podporován automatický přenos výsledků práce z jedné fáze do druhé, počínaje fází návrhu a konče likvidací vytvořeného softwarového produktu a jeho údržbou.

Tím pádem, CASE-WorkBench je přirozeným „uzavřením“ technologie pro vývoj, implementaci a údržbu softwaru.

V současné době má „typický“ systém podpory technologie CASE funkcionalitu znázorněnou na obr. 6.4.

Rýže. 6.4. Funkčnost typického systému podpory technologie CASE

Jak vyplývá z tohoto H-diagramu, prostředí CASE musí podporovat všechny hlavní fáze vývoje a údržby procesů tvorby softwarových systémů. Míra takové podpory se však výrazně liší. Pokud například mluvíme o fázích analýzy a návrhu, většina balíků nástrojů podporuje obrazovky a formuláře pro hlášení, prototypování a detekci chyb. Značná část těchto prostředků je určena pro PC. Mnohé podporují široce používané metodologie, jako je DeMarco nebo Gane/Sarson strukturální analýza, Yourdan/Jackson strukturální návrh a několik dalších. Existují specializované vývojové balíčky pro tvorbu informačních systémů, například Ana Tool (Advanced Logical Software) pro Macintosh; CA-Universe/Prototype (Computer Associates International) pro PC. Existují CASE prostředí na podporu vývoje systémů v reálném čase.

Mezi softwarovými vývojáři existují dvě hodnocení tohoto přístupu: někteří se domnívají, že technologie CASE radikálně mění procesy vývoje a provozu softwaru, jiní to popírají a ponechávají pouze funkci automatizace rutinní práce nástrojům CASE. Analýza literatury však ukazuje, že nástroje CASE stále „posouvají“ technologie vývoje softwaru od projektového řízení k metodě prototypování. A tento posun je podle nás extrémně důležitým trendem v moderní programovací technologii.

Publikace na dané téma