Instrumental anhand von Beispielen. Instrumentelle Programmiersysteme. Die Essenz von VisualBasic und seine kurze Geschichte

Selbst bei Hunderttausenden PC-Programmen benötigen Benutzer möglicherweise etwas, was vorhandene Programme nicht können (oder tun, aber nicht richtig). In diesen Fällen wird Werkzeugsoftware zur Erstellung neuer Programme eingesetzt, die die Entwicklung von System- und Anwendungssoftware ermöglicht. Folglich spielt es die Rolle des Produktionsmittels in der Programmierung.

Programmiersysteme– Dabei handelt es sich um Komplexe von Programmen und anderen Werkzeugen, die für die Entwicklung und den Betrieb von Programmen in einer bestimmten Programmiersprache für eine bestimmte PC-Architektur (Plattform) bestimmt sind.

Das Programmiersystem umfasst normalerweise Texteditor Programme, Übersetzer Programme, Bibliotheken Unterprogramme und Link-Editoren, Debugger, Hilfesysteme und manchmal auch verschiedene Unterstützungsprogramme.

Programmiersprache ist eine künstliche Sprache, mit deren Hilfe ein Algorithmus zur Lösung eines Problems in eine für einen PC verständliche Form geschrieben wird.

Es gibt viele Programmiersprachen und jede kann Dutzende Versionen haben. Jeder Programmierer schreibt Programme in der für ihn passenden Sprache, und es gibt keine Programmiersprache, die als allgemein akzeptiert gilt.

Doch eines haben alle Programmiersprachen gemeinsam. Sie sind für Programmierer verständlich, für den Prozessor jedoch unverständlich, da der Prozessor nur mit Binärzahlen arbeiten kann und daher nur in geschriebene Programme versteht Maschinensprache. Daher werden Programme, die in einer beliebigen Programmiersprache geschrieben sind, zunächst in die Prozessorsprache „übersetzt“, d. h. in Maschinencode umgewandelt. Diese Übersetzung wird von speziellen Übersetzerprogrammen durchgeführt. Im Englischen heißt es „Übersetzung“. Übersetzung), daher werden Programme aufgerufen, die Programme in Maschinencodesprache übersetzen Rundfunkveranstalter.

Auf der Bühne Sendungen Transformation findet statt Quellcode Programme in Objektcode, welches weiterverarbeitet wird Kommunikationsredakteur. Der Link-Editor ist ein spezielles Programm, mit dem Sie erstellen können Lademodul, geeignet für die Umsetzung (Abb. 6.2).

Reis. 6.2. Schema des Prozesses zum Erstellen eines Boot-Programmmoduls

Es gibt folgende Arten von Übersetzern: Interpreter, Compiler.

Dolmetscher entnimmt dem Programmtext den nächsten Sprachoperator, analysiert dessen Struktur und führt ihn sofort aus. Dann geht er weiter zum nächsten Betreiber. Compilerübersetzt das gesamte Programm in Maschinenanweisungen.

Die beliebtesten universellen Programmiersprachen sind heute: Basic, Pascal, C++, Java.

Für jede dieser Programmiersprachen gibt es heute viele Programmiersysteme verschiedener Unternehmen, die auf verschiedene PC-Modelle und Betriebssysteme ausgerichtet sind. Die beliebtesten visuellen Umgebungen für den schnellen Programmentwurf für Windows sind: Microsoft Visual Basic; Borland Delphi; Borland C++Builder; Microsoft Visual Studio (Visual Basic.net, C++, C#, J#).

Moderne Programmiersysteme ermöglichen die Erstellung von Programmen, die beim Betrachten von Webseiten im globalen elektronischen Netzwerk Internet aufgerufen werden.

Eine besondere Klasse von Programmiersystemen sind Systeme zur Erstellung von Client-Server-Anwendungen. Mit diesen Systemen können Sie schnell Informationssysteme für Abteilungen und sogar große Unternehmen erstellen. Sie enthalten Tools zum Erstellen einer Benutzeroberfläche, zur Beschreibung von Datenverarbeitungsvorgängen, Vorlagen zur Durchführung typischer Datenverarbeitungsvorgänge usw. Mit diesen Systemen können Sie in der Regel mit einer Vielzahl von DBMS arbeiten – Oracle, Sybase, Microsoft SQL Server usw. Zu den beliebtesten Systemen dieser Art zählen PowerBuilder von Sybase, Delphi von Borland und Visual Basic von Microsoft. Natürlich sind Tools zum Erstellen von Client-Server-Anwendungen auch als Teil eines Client-Server-DBMS (Oracle, Sybase usw.) verfügbar, sie sind jedoch nur auf dieses DBMS ausgerichtet.

Aufsatz

SOFTWARE – eine Reihe von Programmen für ein Informationsverarbeitungssystem und Programmunterlagen für den Betrieb dieser Programme erforderlich (GOST 19781-90). Außerdem – eine Reihe von Programmen, Verfahren und Regeln sowie Dokumentation im Zusammenhang mit dem Betrieb des Datenverarbeitungssystems (ST ISO 2382/1-84).

WERKZEUGSOFTWARE – Software zur Verwendung beim Entwurf, der Entwicklung und der Wartung von Programmen. Typischerweise wird dieser Begriff verwendet, um den Unterschied zwischen dieser Softwareklasse und Anwendungs- und Systemsoftware hervorzuheben.

COMPILER – ein Übersetzer, der ein in der Quellsprache geschriebenes Programm in ein Objektmodul umwandelt.

INTERPRETER – ein Programm (manchmal Hardware), das Befehle oder Programmanweisungen analysiert und sie sofort ausführt.

BETRIEBSSYSTEM – eine Reihe von Steuerungs- und Verarbeitungsprogrammen, die einerseits als Schnittstelle zwischen Computersystemgeräten und Anwendungsprogrammen fungieren und andererseits dazu dienen, Geräte zu steuern, Computerprozesse zu verwalten und Computerressourcen effektiv zwischen ihnen zu verteilen Rechenprozesse und organisieren zuverlässiges Rechnen.

ANWENDUNGSPROGRAMM – ein Programm zur Ausführung bestimmter Benutzeraufgaben und zur direkten Interaktion mit dem Benutzer.

VISUALBASIC ist ein von der Microsoft Corporation entwickeltes Softwareentwicklungstool, das eine Programmiersprache und eine Entwicklungsumgebung umfasst.

VISUALBASICFORAPPLICATION – eine leicht vereinfachte Implementierung der Programmiersprache Visual Basic, die in die Produktlinie integriert ist Microsoft Office(einschließlich Versionen für Mac OS) sowie viele andere Softwarepakete wie AutoCAD, SolidWorks, CorelDRAW, WordPerfect und ESRI ArcGIS.

Der Zweck der Arbeit besteht darin, die Arten und Funktionen von Software, insbesondere instrumenteller Software, zu untersuchen.

Softwareklassifizierung:

Arten von Werkzeugsoftware:

1) Texteditoren

4) Compiler

5) Dolmetscher

6) Linker

8) Monteure

9) Debugger

10) Profiler

11) Dokumentationsgeneratoren

Um ein Programm in der gewählten Programmiersprache zu erstellen, benötigen Sie folgende Komponenten:

2. Compiler oder Interpreter. Der Quelltext wird mithilfe eines Compilerprogramms in Zwischenobjektcode übersetzt.

Ergebnis der Arbeit: Die Software, ihre Funktionen und Typen, insbesondere instrumentelle Software, ihr Wesen und ihre Aufgaben werden betrachtet. Das dritte Kapitel behandelt Microsoft Visual Basic als Softwareentwicklungstool und seinen Dialekt – Microsoft Visual Basic for Application. IN Kursarbeit Mit der Programmiersprache Pascal wurde ein Algorithmus zur Lösung eines finanziellen und wirtschaftlichen Problems implementiert.

Einführung

IN moderne Welt Mehr als ein Mensch, der die Vorteile der Zivilisation ausprobiert hat, kann sich ein Leben ohne sie nicht vorstellen Computerausrüstung. Seine Verwendung erfolgt in allen Bereichen menschlichen Handelns: Produktion, Handel, Bildung, Unterhaltung und Kommunikation der Menschen, ihre wissenschaftlichen und kulturellen Aktivitäten. All dies ist der Fähigkeit zu verdanken, Computerausrüstung auszuwählen, um jedes noch so komplexe Problem zu lösen.

Sowohl die Vielseitigkeit als auch die Spezialisierung der Computertechnik wird jedoch durch den Einsatz einer unterschiedlichen Software auf Basis nahezu jedes Computers gewährleistet, die eine Lösung für alle gestellten Aufgaben bietet.

Wir alle sehen die enorme Vielfalt an Computerprogrammen und das atemberaubende Tempo ihres Wachstums und ihrer Verbesserung, und nur ein kleiner Teil von uns versteht die unsichtbare Seite ihres Designs, ihrer Entwicklung und ihrer Erstellung. Allerdings ist dieser Bereich Computertechnologie ist unserer Meinung nach das Wichtigste, da die Zukunft der Computertechnologie von ihrer Entwicklung abhängen wird.

Und da die Entwicklung jedes Computerprogramms unter Verwendung instrumenteller Software erfolgt, möchte ich in unserer Kursarbeit ausführlich darauf eingehen, es von allen Softwareprogrammen hervorheben und sein Wesen und seine Funktionen enthüllen.

Zur Verdeutlichung betrachten wir instrumentelle Software (Studiengegenstand) am Beispiel des Softwarepakets VisualBasicforApplication (Studiengegenstand), das für die Programmierung in der Microsoft Office-Umgebung verwendet wird – dem am weitesten verbreiteten und beliebtesten Office-Paket.

1. Software

1.1 Konzept und Wesen von Software

Software (Software) ist ein integraler Bestandteil Computersystem. Es ist eine logische Fortsetzung der technischen Möglichkeiten eines jeden Computers. Der Einsatzbereich eines bestimmten Computers wird durch die dafür erstellte Software bestimmt. Der Computer selbst kennt keine Anwendung. All dieses Wissen ist in auf Computern laufenden Programmen konzentriert, die über eine Reihe spezifischer Funktionen verfügen und darauf ausgelegt sind, bestimmte, in den meisten Fällen hochspezialisierte Funktionen wie das Erstellen und Verarbeiten auszuführen grafische Bilder oder Sounddateien.

Software umfasst derzeit Hunderttausende Programme, die darauf ausgelegt sind, unterschiedlichste Informationen für unterschiedlichste Zwecke zu verarbeiten.

Zur Software gehört auch das gesamte Tätigkeitsfeld der Softwaregestaltung und -entwicklung:

1) Programmdesigntechnologie (z. B. Top-Down-Design, strukturiertes und objektorientiertes Design);

2) Methoden zum Testen von Programmen;

3) Methoden zum Nachweis der Korrektheit von Programmen;

4) Analyse der Qualität der Programme;

5) Dokumentation von Programmen;

6) Entwicklung und Einsatz von Softwaretools, die den Softwaredesignprozess erleichtern, und vieles mehr.

Es gibt viele verschiedene Definitionen von Software. Im Allgemeinen handelt es sich bei Software um eine Reihe von Informatiund Programmdokumenten, die für den Betrieb dieser Programme erforderlich sind (GOST 19781-90). Außerdem – eine Reihe von Programmen, Verfahren und Regeln sowie Dokumentation im Zusammenhang mit dem Betrieb des Datenverarbeitungssystems (ST ISO 2382/1-84).

Software ist neben technischer (Hardware), mathematischer, informationeller, sprachlicher, organisatorischer und methodischer Unterstützung eine der Arten der Unterstützung eines Computersystems.

Im Computer-Slang wird das Wort Software häufig vom englischen Wort Software abgeleitet, das in diesem Sinne erstmals 1958 in einem Artikel des Mathematikers John W. Tukey von der Princeton University im American Mathematical Monthly verwendet wurde.

Andere Definitionen:

1) SOFTWARE ist eine Reihe von Programmen, die eine automatisierte Verarbeitung von Informationen auf einem Computer ermöglichen.

2) SOFTWARE (mathematische Unterstützung für einen elektronischen Computer), eine Reihe von Programmen für ein Datenverarbeitungssystem und Programmdokumente, die für die Implementierung von Programmen auf einem elektronischen Computer erforderlich sind.

3) SOFTWARE – eine Reihe von Programmen zur Steuerung des Computerbetriebs und zur Automatisierung der Programmierung.

4) SOFTWARE – eine Reihe von Computerprogrammen, die die Datenverarbeitung oder -übertragung ermöglichen.

Alle Definitionen sind ähnlich und spiegeln das Wesen der Software wider – die Organisation der Interaktion des Hardware-(technischen) Teils in Form verschiedener integrierter Knoten und Peripheriegeräte, deren Steuerung und Koordination der gesamten Interaktion des Computersystems untereinander und mit dem Benutzer.

1.2 Softwarefunktionen

Die oben genannten Softwarekonzepte bestimmen die Funktionen, die Software beim Betrieb von Computergeräten ausführt. Die Liste dieser Funktionen ist sehr vielfältig, lässt sich jedoch grob in die folgenden fünf Typen einteilen:

1. Hardware und Mechanik. Sie verbinden verschiedene Computerkomponenten und sorgen für die Übertragung eines Hardwaresignals von einer Komponente zur anderen.

2. Maschinenlogisch. Verarbeiten und interpretieren Sie eine Reihe elektromagnetischer Impulse von der Hardware in logisch bewussten Softwarecode, der eine bestimmte Struktur und Eigenschaften aufweist.

3. Information und Befehl. Sie prüfen die Übereinstimmung des Programmcodes mit den Prinzipien des Systems und erstellen logische Struktur Informationen und führt deren Ausführung durch.

4. Schnittstelle. Bereitstellung der Verarbeitung und Interpretation des Programmcodes in einem für den Benutzer zugänglichen Anzeigeformat. Schafft ein günstiges Umfeld für die Interaktion „Computer-Mensch, Mensch-Computer“.

5. Angewendet. Führt mathematische, logische, physikalische und andere Aktionen mit einem Satz verfügbarer Daten durch, mit anderen Worten, die Verarbeitung verfügbarer Informationen, um bestimmte Probleme zu lösen.

Diese Liste ist bei weitem nicht vollständig, was auf die Vielfalt und Mehrdeutigkeit der von der Software ausgeführten Funktionen hinweist.

1.3 Arten von Software

Abhängig von den von einer bestimmten Computerkomponente bereitgestellten Funktionen besteht die Notwendigkeit, eine eigene Spezialsoftware dafür zu erstellen. Dies ist das grundlegende Motiv für die Erstellung von Software verschiedener Art, dargestellt in (Abb. 1):

a) Anwendungsprogramme, die die Ausführung der vom Benutzer geforderten Arbeiten direkt unterstützen;

B) Systemprogramme, die dazu bestimmt sind, den Betrieb eines Computersystems zu steuern, führen verschiedene Hilfsfunktionen aus, zum Beispiel:

1) Computerressourcenverwaltung;

2) Erstellung von Kopien der verwendeten Informationen;

3) Überprüfung der Funktionalität von Computergeräten;

4) Ausgabe von Referenzinformationen über den Computer usw.;

c) instrumentelle Softwaresysteme, die den Prozess der Erstellung neuer Computerprogramme erleichtern.

Systemsoftware gewährleistet den Betrieb und die Wartung des Computers sowie die Automatisierung des Prozesses der Erstellung neuer Programme. Zur Systemsoftware gehören: Betriebssysteme und deren Benutzeroberfläche; instrumental Software; Wartungssysteme.

Das Betriebssystem ist ein obligatorischer Bestandteil einer speziellen Software, die einen effizienten Betrieb gewährleistet persönlicher Computer in verschiedenen Modi, Organisation der Ausführung von Programmen und Benutzerinteraktion und Externe Geräte mit einem Computer.

Benutzeroberflächen (Dienstprogramme) sind Software-Add-ons zum Betriebssystem (Shell und Umgebung), die die Kommunikation des Benutzers mit dem Betriebssystem vereinfachen sollen.

Programme, die die Schnittstelle bereitstellen, behalten die Form der Kommunikation (Dialog) zwischen Benutzer und Betriebssystem bei, ändern jedoch die Kommunikationssprache (normalerweise wird die Befehlssprache in eine Menüsprache umgewandelt). Servicesysteme können in Schnittstellensysteme, Shells, unterteilt werden Betriebssysteme und Versorgungsunternehmen.

Schnittstellensysteme sind leistungsstarke Servicesysteme, meist grafischer Art, die nicht nur den Benutzer, sondern auch die Programmoberfläche von Betriebssystemen verbessern, insbesondere einige zusätzliche Verfahren zur Aufteilung zusätzlicher Ressourcen implementieren.

Betriebssystem-Shells bieten dem Benutzer eine qualitativ neue Schnittstelle im Vergleich zu der durch das Betriebssystem implementierten und machen die Kenntnis letzterer optional.

Dienstprogramme automatisieren die Ausführung bestimmter häufig verwendeter Standardprozeduren, für deren Implementierung der Benutzer die Entwicklung spezieller Programme erfordern würde. Viele Dienstprogramme verfügen über eine entwickelte interaktive Benutzeroberfläche und nähern sich der Kommunikationsebene den Shells an.

Softwaretools (Programmiersysteme) sind ein zwingender Bestandteil der Software, mit der Programme erstellt werden. Zu den Softwaretools gehören Tools zum Schreiben von Programmen (Texteditoren); Mittel zum Konvertieren von Programmen in eine für die Ausführung auf einem Computer geeignete Form (Assembler, Compiler, Interpreter, Lader und Link-Editoren), Mittel zum Überwachen und Debuggen von Programmen.

Mit Texteditoren können Sie Programmtexte bequem bearbeiten, gestalten und kombinieren, einige ermöglichen Ihnen auch die Kontrolle der Syntax der erstellten Programme.

Ein in einer algorithmischen Sprache geschriebenes Programm muss in ein in Maschinensprache (Binärcode) geschriebenes Objektmodul umgewandelt werden. Eine solche Konvertierung wird von Übersetzern (Assembler – aus der Assembler-Sprache und Compiler – aus Hochsprachen) durchgeführt. Für einige algorithmische Sprachen werden Interpreter verwendet, die kein Objektmodul erstellen, sondern bei jeder weiteren Ausführung des Programms jede seiner einzelnen Zeilen oder Anweisungen in Maschinensprache übersetzen. Das Objektmodul wird von einem Loader – einem Link-Editor – verarbeitet, der es in ein ausführbares Maschinenprogramm umwandelt.

Mit Debugging-Tools können Sie Programme verfolgen (schrittweise Ausführung mit Informationen zu Ausführungsergebnissen), Programmsyntax und Zwischenergebnisse an Haltepunkten überprüfen und Variablenwerte an diesen Punkten ändern.

Technische und Service sind Softwaretools zur Überwachung, Diagnose und Wiederherstellung der Leistung eines Computers, von Festplatten usw.

Anwendungssoftware bietet Lösungen für Benutzerprobleme. Das Schlüsselkonzept hier ist das Anwendungspaket.

Ein Anwendungssoftwarepaket ist eine Reihe von Programmen zur Lösung einer Reihe von Problemen zu einem bestimmten Thema oder Thema. Es werden folgende Arten von Anwendungspaketen unterschieden:

1) allgemeiner Zweck- konzentriert sich auf die Automatisierung einer breiten Palette von Benutzeraufgaben (Textverarbeitungsprogramme, Tabellenkalkulationsprogramme, Datenbankverwaltungssysteme, Grafikprozessoren, Veröffentlichungssysteme, Designautomatisierungssysteme usw.);

2) methodenorientiert – Implementierung verschiedener ökonomischer und mathematischer Methoden zur Lösung von Problemen (mathematische Programmierung, Netzwerkplanung und -management, Warteschlangentheorie, mathematische Statistik usw.);

3) problemorientiert – zielt auf die Lösung einer bestimmten Aufgabe (Problem) in einem bestimmten Themenbereich (Bankpakete, Buchhaltungspakete, Finanzmanagement, Rechtsreferenzsysteme usw.) ab.

Anwendungssoftware umfasst Servicesoftware, die dazu dient, eine komfortable Arbeitsumgebung für den Benutzer zu organisieren sowie Hilfsfunktionen (Informationsmanager, Übersetzer usw.) auszuführen.

Bei der Erstellung einer Softwareklassifizierung muss berücksichtigt werden, dass die rasante Entwicklung der Computertechnologie und die Erweiterung des Umfangs der Computeranwendungen den Prozess der Softwareentwicklung stark beschleunigt haben. War es früher einfach, die Hauptkategorien von Software aufzulisten – Betriebssysteme, Übersetzer, Anwendungssoftwarepakete –, hat sich die Situation jetzt radikal geändert. Die Softwareentwicklung hat sich sowohl in der Tiefe (neue Ansätze zum Aufbau von Betriebssystemen, Programmiersprachen usw. sind aufgetaucht) als auch in der Breite (Anwendungsprogramme werden nicht mehr angewendet und haben einen eigenständigen Wert erlangt) entwickelt. Das Verhältnis zwischen den benötigten Softwareprodukten und den am Markt verfügbaren Produkten verändert sich sehr schnell. Auch klassische Softwareprodukte wie Betriebssysteme werden ständig weiterentwickelt und mit intelligenten Funktionen ausgestattet, von denen sich viele bisher nur auf die geistigen Fähigkeiten des Menschen bezogen.

2. Werkzeugsoftware

2.1 Das Wesen und Konzept von Softwaretools

Instrumentelle Software (IPO) ist Software, die für den Entwurf, die Entwicklung und die Wartung von Programmen vorgesehen ist.

In der Entwicklungsphase werden Werkzeuge eingesetzt. Tooling-Software ist eine Sammlung von Programmen, die Programmierer bei ihrer Arbeit unterstützen und Softwareentwicklungsmanagern bei ihren Bemühungen helfen, den Entwicklungsprozess und die daraus resultierenden Produkte zu steuern. Die bekanntesten Vertreter dieses Teils der Software sind Übersetzerprogramme aus Programmiersprachen, die Programmierern beim Schreiben von Maschinenbefehlen helfen. Instrumentalprogramme sind Übersetzer aus den Sprachen Fortran, Cobol, Joe-vial, BASIC, APL und Pascal. Sie erleichtern den Prozess der Erstellung neuer Arbeitsprogramme. Allerdings sind Sprachübersetzer nur der bekannteste Teil von Instrumentalprogrammen; davon gibt es sehr viele.

Der Einsatz von Computern zur Erstellung neuer Programme ist für Menschen, die keine professionellen Programmierer sind, alles andere als selbstverständlich. Es kommt häufig vor, dass Fachleute in einem Atemzug von Werkzeugsoftware (Entwicklungsphase) und Systemsoftware (Nutzungsphase) sprechen, in der Annahme, dass diejenigen, die nicht in die Geheimnisse ihres Fachs eingeweiht sind, sich dieser Rolle der Werkzeugsoftware bewusst sind. Gleiches wie in der Nutzungsphase (für Anwendungsprogramme), Systemunterstützung Es funktioniert auch in der Entwicklungsphase, allerdings nur in Verbindung mit dem Tooling. Toolsoftware oder Programmiersysteme sind Systeme zur automatisierten Entwicklung neuer Programme in einer Programmiersprache.

Im allgemeinsten Fall benötigen Sie zum Erstellen eines Programms in der ausgewählten Programmiersprache (Systemprogrammiersprache) die folgenden Komponenten:

1. Texteditor zum Erstellen einer Datei mit dem Quelltext des Programms.

2. Compiler oder Interpreter. Der Quelltext wird mithilfe eines Compilerprogramms in Zwischenobjektcode übersetzt. Der Quellcode eines großen Programms besteht aus mehreren Modulen (Quelldateien). Jedes Modul wird in eine separate Datei mit Objektcode kompiliert, die dann zu einer einzigen zusammengefasst werden muss.

3. Ein Link-Editor oder Assembler, der Objektmodule verknüpft und eine funktionierende Anwendung als Ausgabe erzeugt – ausführbaren Code.

Ausführbarer Code ist ein vollständiges Programm, das auf jedem Computer ausgeführt werden kann, der über das Betriebssystem verfügt, für das das Programm erstellt wurde. Die resultierende Datei hat in der Regel die Erweiterung .EXE oder .COM.

In letzter Zeit sind visuelle Programmiermethoden (unter Verwendung von Skriptsprachen) weit verbreitet, die auf die Erstellung von Windows-Anwendungen abzielen. Dieser Prozess wird in Rapid-Design-Umgebungen automatisiert. Dabei kommen vorgefertigte visuelle Komponenten zum Einsatz, die mit speziellen Editoren konfiguriert werden.

Die beliebtesten Editoren (Programmiersysteme mit visuellen Werkzeugen) für visuelles Design:

1) Borland Delphi – wurde entwickelt, um nahezu jedes Problem der Anwendungsprogrammierung zu lösen.

2) Borland C++ Builder ist ein hervorragendes Tool zum Entwickeln von DOS- und Windows-Anwendungen.

3) Microsoft Visual Basic ist ein beliebtes Tool zum Erstellen von Windows-Programmen.

4) Microsoft Visual C++ – mit diesem Tool können Sie beliebige Anwendungen entwickeln, die in einer Betriebssystemumgebung wie Microsoft Windows ausgeführt werden

Das Wesen instrumenteller Software besteht also darin, jedes ausführbare Programm durch die Umwandlung formaler logischer Ausdrücke in ausführbaren Maschinencode sowie deren Steuerung und Anpassung zu erstellen.

2.2 Aufgaben und Funktionen der Tool-Software

Instrumentelle Software als besondere Art von Software zeichnet sich durch Allgemeines und Privates aus

Funktionen, wie bei jeder Software im Allgemeinen. Wir haben oben die allgemeinen Funktionen und die speziellen Funktionen besprochen, die nur für diese gelten dieser Typ Programme sind:

1. Erstellen des Textes des zu entwickelnden Programms unter Verwendung speziell festgelegter Codewörter (Programmiersprache) sowie eines bestimmten Zeichensatzes und deren Position in der erstellten Datei – Programmsyntax.

2. Textübersetzung erstelltes Programm in maschinenorientierten Code umgewandelt, der für die Computererkennung zugänglich ist. Wenn das Volumen des erstellten Programms erheblich ist, wird es in einzelne Module unterteilt und jedes Modul wird separat übersetzt.

3. Verbinden einzelner Module zu einem einzigen ausführbaren Code unter Einhaltung der erforderlichen Struktur, um die Koordination der Interaktion einzelner Teile untereinander sicherzustellen.

4. Testen und Überwachen des erstellten Programms, Identifizieren und Beseitigen formaler, logischer und syntaktischer Fehler, Überprüfen von Programmen auf das Vorhandensein verbotener Codes sowie Bewerten der Leistung und des Potenzials des erstellten Programms.

2.3 Arten von Softwaretools

Anhand der der Instrumentalsoftware zugewiesenen Aufgaben können wir unterscheiden große Menge Arten von Instrumentalsoftware für verschiedene Zwecke:

1) Texteditoren

2) Integrierte Entwicklungsumgebungen

4) Compiler

5) Dolmetscher

6) Linker

7) Parser und Parser-Generatoren (siehe Javacc)

8) Monteure

9) Debugger

10) Profiler

11) Dokumentationsgeneratoren

12) Tools zur Codeabdeckungsanalyse

13) Kontinuierliche Integrationstools

14) Automatisierte Testtools

15) Versionskontrollsysteme usw.

Es ist zu beachten, dass Shells zur Erstellung von Anwendungsprogrammen auch von Toolprogrammen erstellt werden und daher zu den Anwendungsprogrammen gezählt werden können. Betrachten wir kurz die Zwecke einiger Instrumentalprogramme.

Texteditoren.

Texteditor - Computer Programm, konzipiert für die Verarbeitung von Textdateien, beispielsweise zum Erstellen und Vornehmen von Änderungen.

Arten von Texteditoren.

Herkömmlicherweise gibt es zwei Arten von Editoren: Streaming-Texteditoren und interaktive Editoren.

Stream-Texteditoren sind Computerprogramme, die dazu dienen, aus einer Textdatei empfangene Eingabetextdaten automatisch gemäß von Benutzern vordefinierten Regeln zu verarbeiten. Meistens handelt es sich bei den Regeln um reguläre Ausdrücke in einem Dialekt, der für einen bestimmten Texteditor spezifisch ist. Ein Beispiel für einen solchen Texteditor ist der Sed-Editor.

Interaktive Texteditoren sind eine Familie von Computerprogrammen, mit denen Änderungen vorgenommen werden können Textdatei interaktiv. Mit solchen Programmen können Sie den aktuellen Status der Textdaten in einer Datei anzeigen und verschiedene Aktionen darauf ausführen.

Interaktive Texteditoren enthalten häufig erhebliche Zusatzfunktionen, die dazu dienen, einen Teil der Bearbeitungsvorgänge zu automatisieren oder die Anzeige von Textdaten abhängig von ihrer Semantik zu ändern. Ein Beispiel für die letztgenannte Art von Funktionalität ist die Syntaxhervorhebung.

Texteditoren dienen zum Erstellen und Bearbeiten von Textdokumenten. Am gebräuchlichsten sind MS WORD und Lexicon. Hauptfunktionen Texteditoren Sind:

1) Arbeiten mit Dokumentfragmenten,

2) Einfügen von Objekten, die in anderen Programmen erstellt wurden

3) Aufteilen des Texts des Dokuments in Seiten

4) Tabellen eingeben und bearbeiten

5) Eingeben und Bearbeiten von Formeln

6) Absatzformatierung

7) Automatische Erstellung von Listen

8) Automatische Erstellung eines Inhaltsverzeichnisses.

Dutzende Texteditoren sind bekannt. Die am besten zugänglichen sind NOTEPAD (Notizblock), WORDPAD, WORD. Die Bedienung eines bestimmten Texteditors wird in der Regel durch Funktionen bestimmt, deren Zweck sich in Menüpunkten und im Hilfesystem widerspiegelt.

Integrierte Entwicklungsumgebung

Die integrierte Entwicklungsumgebung (ISD) ist ein Softwaresystem, das von Programmierern zur Entwicklung von Software verwendet wird. Typischerweise umfasst die Entwicklungsumgebung:

1) Texteditor

2) Compiler und/oder Interpreter

3) Werkzeuge zur Montageautomatisierung

4) Debugger.

Manchmal enthält es auch Tools zur Integration mit Versionskontrollsystemen und verschiedene Tools zur Vereinfachung des Designs einer grafischen Benutzeroberfläche. Viele moderne Entwicklungsumgebungen umfassen außerdem einen Klassenbrowser, einen Objektinspektor und ein Klassenhierarchiediagramm zur Verwendung in der objektorientierten Softwareentwicklung. Allerdings gibt es Entwicklungsumgebungen, die für mehrere Programmiersprachen konzipiert sind – etwa Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator oder Microsoft Visual Studio, in der Regel ist die Entwicklungsumgebung für eine bestimmte Programmiersprache gedacht – wie Visual Basic, Delphi, Dev-C++.

Ein Sonderfall von ISR ist eine visuelle Entwicklungsumgebung, die die Möglichkeit beinhaltet, die Programmoberfläche visuell zu bearbeiten.

SDK.

SDK (vom englischen SoftwareDevelopmentKit) oder „Devkit“ ist ein Entwicklungskit, mit dem Softwarespezialisten Anwendungen für ein bestimmtes Softwarepaket, eine Kernentwicklungssoftware, eine Hardwareplattform, ein Computersystem, Videospielkonsolen, Betriebssysteme und andere Plattformen erstellen können.

Der Programmierer erhält das SDK in der Regel direkt vom Entwickler der Zieltechnologie oder des Zielsystems. Häufig wird das SDK über das Internet verteilt. Viele SDKs werden kostenlos verteilt, um Entwickler zur Nutzung einer bestimmten Technologie oder Plattform zu ermutigen.

SDK-Anbieter ersetzen manchmal den Begriff „Software im Software Development Kit“ durch einen präziseren Begriff. Beispielsweise bieten Microsoft und Apple Driver Development Kits (DDK) für die Entwicklung von Gerätetreibern an, und PalmSource nennt sein Entwicklungs-Toolkit PalmOS Development Kit (PDK).

SDK-Beispiele :

5) Java-Entwicklungskit

6) Opera Devices SDK

Compiler.

Compiler -

1) Ein Programm oder technisches Tool, das die Kompilierung durchführt.

2) Das zur Kompilierung verwendete Maschinenprogramm.

3) Ein Übersetzer, der ein in der Quellsprache geschriebenes Programm in ein Objektmodul umwandelt.

4) Ein Programm, das Programmtext in einer Hochsprache in ein entsprechendes Programm in Maschinensprache übersetzt.

5) Ein Programm, das Hochsprache in absoluten Code oder manchmal in Assemblersprache übersetzen soll. Eingabeinformationen für den Compiler ( Quelle) ist eine Beschreibung des Algorithmus oder Programms in einer problemorientierten Sprache, und die Ausgabe des Compilers ist eine äquivalente Beschreibung des Algorithmus in einer maschinenorientierten Sprache (Objektcode).

Zusammenstellung -

1) Übersetzung eines Programms in eine maschinensprachähnliche Sprache.

2) Übersetzung eines in der Quellsprache geschriebenen Programms in ein Objektmodul. Wird vom Compiler ausgeführt.

Kompilieren – Übersetzen eines Maschinenprogramms aus einer problemorientierten Sprache in eine maschinenorientierte Sprache.

Arten von Compilern :

1) Vektorisieren. Übersetzt Quellcode in Maschinencode auf Computern, die mit einem Vektorprozessor ausgestattet sind.

2) Flexibel. Modular, tabellengesteuert und in einer Hochsprache programmiert oder mithilfe eines Compilers von Compilern implementiert.

3) Dialog.

4) Inkrementell. Überträgt Programmfragmente und Ergänzungen erneut, ohne das gesamte Programm neu zu kompilieren.

5) Interpretierend (Schritt für Schritt). Führt nacheinander eine unabhängige Kompilierung jeder einzelnen Anweisung (Befehl) des Quellprogramms durch.

6) Compiler von Compilern. Ein Übersetzer, der eine formale Beschreibung einer Programmiersprache akzeptiert und einen Compiler für diese Sprache generiert.

7) Debuggen. Beseitigt bestimmte Arten von Syntaxfehlern.

8) Einwohner. Befindet sich dauerhaft im Hauptspeicher und ist zugänglich Wiederverwendung viele Aufgaben.

9) Selbstkompilierung. Verfasst in derselben Sprache, in der die Sendung erfolgt.

10) Universell. Basierend auf einer formalen Beschreibung der Syntax und Semantik der Eingabesprache. Die Komponenten eines solchen Compilers sind: der Kernel sowie syntaktische und semantische Lader.

Arten der Zusammenstellung :

1) Charge. Kompilieren mehrerer Quellmodule zu einem Jobelement.

2) Zeile für Zeile.

3) Bedingt. Zusammenstellung, bei der der übersetzte Text von im Quellprogramm angegebenen Bedingungen abhängt. Abhängig vom Wert einer bestimmten Konstante können Sie also die Übersetzung eines Teils des Programmtextes ein- oder ausschalten.

Compiler-Struktur.

Der Kompilierungsprozess besteht aus den folgenden Schritten:

1) Lexikalische Analyse. In dieser Phase wird die Zeichenfolge in der Quelldatei in eine Token-Folge umgewandelt.

2) Syntaktische (grammatische) Analyse. Die Token-Sequenz wird in einen Parse-Baum umgewandelt.

3) Semantische Analyse. Der Parse-Baum wird verarbeitet, um seine Semantik (Bedeutung) festzulegen – zum Beispiel das Binden von Bezeichnern an ihre Deklarationen, Typen, das Überprüfen der Kompatibilität, das Bestimmen von Ausdruckstypen usw. Das Ergebnis wird normalerweise als „Zwischendarstellung/-code“ bezeichnet und kann um erweitert werden der Analysebaum, ein neuer Baum, ein abstrakter Befehlssatz oder etwas anderes, das für die weitere Verarbeitung geeignet ist.

4) Optimierung. Entfernen unnötiger Strukturen und Vereinfachen des Codes unter Beibehaltung seiner Bedeutung. Die Optimierung kann auf verschiedenen Ebenen und in unterschiedlichen Phasen erfolgen – beispielsweise im Zwischencode oder im endgültigen Maschinencode.

5) Codegenerierung. Aus der Zwischendarstellung wird Code in der Zielsprache generiert.

In bestimmten Compiler-Implementierungen können diese Phasen in der einen oder anderen Form getrennt oder kombiniert werden.

Ausstrahlung und Postproduktion.

Ein wichtiges historisches Merkmal des Compilers, das sich in seinem Namen widerspiegelt (englisch: kompilieren – zusammenstellen, komponieren), war, dass er auch Verknüpfungen durchführen konnte (das heißt, er enthielt zwei Teile – einen Übersetzer und einen Linker). Dies ist auf die Tatsache zurückzuführen, dass die getrennte Kompilierung und Verknüpfung als separate Assemblierungsphase viel später als mit dem Aufkommen der Compiler aufkam. In diesem Zusammenhang wird manchmal anstelle des Begriffs „Compiler“ der Begriff „Übersetzer“ als Synonym verwendet: entweder in der alten Literatur oder wenn man seine Fähigkeit hervorheben möchte, ein Programm in Maschinencode zu übersetzen (und umgekehrt). Der Begriff „Compiler“ wird verwendet, um die Fähigkeit hervorzuheben, aus vielen Dateien zu kompilieren.

Dolmetscher.

Dolmetscher (Programmiersprache) -

1) Ein Programm oder technisches Werkzeug, das die Interpretation durchführt.

2) Ein Übersetzertyp, der die Verarbeitung und Ausführung des Quellprogramms oder der Abfrage Anweisung für Anweisung (Befehl für Befehl) durchführt (im Gegensatz zu einem Compiler, der das gesamte Programm übersetzt, ohne es auszuführen).

3) Ein Programm (manchmal Hardware), das Befehle oder Programmanweisungen analysiert und sie sofort ausführt.

4) Ein Sprachprozessor, der das Quellprogramm Zeile für Zeile analysiert und gleichzeitig die vorgeschriebenen Aktionen ausführt, anstatt ein kompiliertes Programm in Maschinensprache zu generieren, das anschließend ausgeführt wird.

Arten von Dolmetschern.

Ein einfacher Interpreter analysiert und führt das Programm Befehl für Befehl (oder Zeile für Zeile) sofort aus (die eigentliche Interpretation), wenn sein Quellcode am Eingang des Interpreters ankommt. Der Vorteil dieses Ansatzes ist die sofortige Reaktion. Der Nachteil besteht darin, dass ein solcher Interpreter Fehler im Programmtext nur dann erkennt, wenn versucht wird, einen Befehl (oder eine Zeile) mit einem Fehler auszuführen.

Ein Compiler-Interpreter ist ein System, das aus einem Compiler besteht, der den Quellcode eines Programms in eine Zwischendarstellung übersetzt, beispielsweise in Bytecode oder P-Code, und dem Interpreter selbst, der den resultierenden Zwischencode (den sogenannten Interpreter) ausführt. sogenannte virtuelle Maschine). Der Vorteil solcher Systeme ist die höhere Geschwindigkeit der Programmausführung (aufgrund der Entfernung der Quellcode-Analyse in einen separaten, einmaligen Durchgang und der Minimierung dieser Analyse im Interpreter). Nachteile sind ein höherer Ressourcenbedarf und eine Anforderung an die Korrektheit des Quellcodes. Es wird in Sprachen wie Java, PHP, Python, Perl (Bytecode wird verwendet), REXX (das Ergebnis der Quellcode-Analyse wird gespeichert) sowie in verschiedenen DBMS (P-Code wird verwendet) verwendet.

Zerlegt man den Compiler-Typ-Interpreter in Komponenten, erhält man einen Sprach-Compiler und einen einfachen Interpreter mit minimaler Quellcode-Analyse. Darüber hinaus muss der Quellcode für einen solchen Interpreter nicht unbedingt vorhanden sein Textformat oder ein Bytecode sein, den nur ein bestimmter Interpreter versteht, es könnte sich um Maschinencode einer vorhandenen Hardwareplattform handeln. Z.B, virtuelle Maschinen wie QEMU, Bochs und VMware enthalten Maschinencode-Interpreter für Prozessoren der x86-Familie.

Einige Interpreter (zum Beispiel für die Sprachen Lisp, Scheme, Python, BASIC und andere) können im Dialogmodus oder im sogenannten Read-Eval-Printloop (REPL) arbeiten. In diesem Modus liest der Interpreter ein vollständiges Sprachkonstrukt (z. B. einen S-Ausdruck in Lisp), führt es aus, gibt die Ergebnisse aus und wartet dann darauf, dass der Benutzer das nächste Konstrukt eingibt.

Einzigartig ist die Forth-Sprache, die sowohl im Interpretations- als auch im Kompilierungsmodus von Eingabedaten arbeiten kann, sodass Sie jederzeit zwischen diesen Modi wechseln können, sowohl während der Übersetzung des Quellcodes als auch während der Ausführung von Programmen.

Es sollte auch beachtet werden, dass Interpretationsmodi nicht nur in Software zu finden sind, sondern auch Hardware. Daher interpretieren viele Mikroprozessoren Maschinencode mithilfe integrierter Firmware, und Prozessoren der x86-Familie, beginnend mit dem Pentium (z. B. auf der Intel P6-Architektur), übersetzen ihn während der Ausführung von Maschinencode vorab in ein internes Format (in eine Folge von Mikrooperationen).

Algorithmus für einen einfachen Interpreter :

2. Analysieren Sie die Anweisungen und legen Sie die geeigneten Maßnahmen fest.

3. geeignete Maßnahmen ergreifen;

4. Wenn die Programmabbruchbedingung nicht erreicht wird, lesen Sie die folgenden Anweisungen und fahren Sie mit Schritt 2 fort.

Vor- und Nachteile von Dolmetschern.

1) Größere Portabilität interpretierter Programme – das Programm läuft auf jeder Plattform, die über einen geeigneten Interpreter verfügt.

2) In der Regel fortgeschrittenere und visuellere Mittel zur Diagnose von Fehlern in Quellcodes.

3) Vereinfachung des Debuggens von Programmquellcodes.

4) Kleinere Codegrößen im Vergleich zu Maschinencode, der von herkömmlichen Compilern erhalten wird.

1) Ein interpretiertes Programm kann ohne ein Interpreterprogramm nicht separat ausgeführt werden. Der Interpreter selbst kann sehr kompakt sein.

2) Das interpretierte Programm läuft langsamer, da die Zwischenanalyse des Quellcodes und die Planung seiner Ausführung mehr Zeit erfordern als die direkte Ausführung des Maschinencodes, in den der Quellcode kompiliert werden könnte.

3) Es findet praktisch keine Code-Optimierung statt, was zu zusätzlichen Einbußen in der Geschwindigkeit interpretierter Programme führt.

Linker.

Linker (auch Link-Editor, Linker) – ein Programm, das die Verknüpfung durchführt – nimmt ein oder mehrere Objektmodule als Eingabe und setzt daraus ein ausführbares Modul zusammen.

Um Module zu verknüpfen, verwendet der Linker Namenstabellen, die vom Compiler in jedem der Objektmodule erstellt wurden. Es gibt zwei Arten solcher Namen:

1) Definierte oder exportierte Namen – Funktionen und Variablen, die in einem bestimmten Modul definiert und für die Verwendung durch andere Module verfügbar gemacht werden.

2) Undefinierte oder importierte Namen – Funktionen und Variablen, auf die das Modul verweist, diese aber nicht intern definiert.

Die Aufgabe des Linkers besteht darin, Verweise auf undefinierte Namen in jedem Modul aufzulösen. Für jeden importierten Namen findet sich seine Definition in anderen Modulen; die Erwähnung des Namens wird durch seine Adresse ersetzt.

Der Linker überprüft im Allgemeinen nicht die Art und Anzahl der Parameter von Prozeduren und Funktionen. Wenn Sie Objektmodule von Programmen kombinieren müssen, die in Sprachen mit starker Typisierung geschrieben sind, müssen die erforderlichen Überprüfungen von einem zusätzlichen Dienstprogramm durchgeführt werden, bevor der Link-Editor gestartet wird.

Monteur.

Ein Assembler (vom englischen Assembler – Assembler) ist ein Computerprogramm, ein Compiler des Quelltextes eines in Assemblersprache geschriebenen Programms in ein Programm in Maschinensprache.

Wie die (Assembler-)Sprache selbst sind Assembler typischerweise spezifisch für eine bestimmte Architektur, ein bestimmtes Betriebssystem und eine Variante der Sprachsyntax. Gleichzeitig gibt es plattformübergreifende oder sogar universelle (genauer gesagt begrenzt-universelle, da es unmöglich ist, hardwareunabhängige Programme in einer Low-Level-Sprache zu schreiben) Assembler, die auf verschiedenen Plattformen und Betriebssystemen ausgeführt werden können. Unter letzteren kann man auch eine Gruppe von Cross-Assemblern unterscheiden, die Maschinencode und ausführbare Module (Dateien) für andere Architekturen und Betriebssysteme sammeln können.

Die Montage ist möglicherweise nicht der erste oder der letzte Schritt auf dem Weg zum Erhalt eines ausführbaren Programmmoduls. So erzeugen viele Compiler aus höheren Programmiersprachen das Ergebnis in Form eines Assemblerprogramms, das vom Assembler weiterverarbeitet wird. Das Ergebnis der Assemblierung ist möglicherweise auch keine ausführbare Datei, sondern ein Objektmodul, das unterschiedliche und nicht zusammenhängende Teile von Maschinencode und Programmdaten enthält, aus denen (oder aus mehreren Objektmodulen) später mithilfe eines Linkerprogramms („Linker“) zusammengestellt werden kann. ausführbare Datei.

Ein Debugger oder Debugger ist ein Entwicklungsumgebungsmodul oder eine separate Anwendung, die dazu dient, Fehler in einem Programm zu finden. Mit dem Debugger können Sie eine schrittweise Ablaufverfolgung durchführen, Variablenwerte während der Programmausführung überwachen, festlegen oder ändern, Haltepunkte oder Stoppbedingungen festlegen und entfernen und so weiter.

Liste der Debugger.

1) AQtime ist ein kommerzieller Debugger für Anwendungen, die für die .NET Framework-Versionen 1.0, 1.1, 2.0, 3.0, 3.5 (einschließlich ASP.NET-Anwendungen) erstellt wurden, sowie für Windows 32- und 64-Bit-Anwendungen.

2) DTrace – dynamisches Tracing-Framework für Solaris, OpenSolaris, FreeBSD, Mac OS X und QNX.

3) Electric Fence – Speicher-Debugger.

4) GNU Debugger (GDB) – ein Programm-Debugger aus dem GNU-Projekt.

5) IDA ist ein leistungsstarker Disassembler und Low-Level-Debugger für Windows- und Linux-Betriebssysteme.

6) Microsoft Visual Studio – eine Softwareentwicklungsumgebung, die Debugging-Tools von Microsoft enthält.

7) OllyDbg ist ein kostenloser Low-Level-Debugger für Windows-Betriebssysteme.

8) SoftICE ist ein Low-Level-Debugger für Betriebssysteme der Windows-Familie.

9) Sun Studio – Softwareentwicklungsumgebung, einschließlich des dbx-Debuggers für Solaris und Linux OS, von Sun Microsystems Corporation.

10) Dr. Watson ist ein Standard-Windows-Debugger, mit dem Sie Speicherabbilder erstellen können.

11) TotalView ist einer der kommerziellen Debugger für UNIX.

12) WinDbg ist ein kostenloser Debugger von Microsoft.

Der Dokumentationsgenerator ist ein Programm oder Softwarepaket, das es Ihnen ermöglicht, Dokumentation für Programmierer (API-Dokumentation) und/oder für Endbenutzer des Systems, für speziell kommentierten Quellcode und in einigen Fällen für ausführbare Module (die bei der Ausgabe erhalten werden) zu erhalten des Compilers).

Typischerweise analysiert der Generator den Quellcode des Programms und hebt syntaktische Strukturen hervor, die wichtigen Programmobjekten entsprechen (Typen, Klassen und ihre Mitglieder/Eigenschaften/Methoden, Prozeduren/Funktionen usw.). Die Analyse nutzt auch Metainformationen über Programmobjekte, dargestellt in Form von dokumentierenden Kommentaren. Basierend auf allen gesammelten Informationen wird eine vorgefertigte Dokumentation erstellt, normalerweise in einem der allgemein akzeptierten Formate – HTML, HTMLHelp, PDF, RTF und andere.

Kommentare dokumentieren.

Ein dokumentierender Kommentar ist ein speziell formatierter Kommentar zu einem Programmobjekt, der für die Verwendung durch einen bestimmten Dokumentationsgenerator vorgesehen ist. Die Syntax der zur Dokumentation von Kommentaren verwendeten Konstrukte hängt davon ab, welcher Dokumentationsgenerator verwendet wird.

Dokumentierende Kommentare können Informationen über den Autor des Codes enthalten, den Zweck des Programmobjekts beschreiben, die Bedeutung von Ein- und Ausgabeparametern für eine Funktion/Prozedur, Anwendungsbeispiele, mögliche Ausnahmesituationen und Implementierungsmerkmale.

Dokumentierende Kommentare werden normalerweise als mehrzeilige Kommentare im C-Stil formatiert. In jedem Fall muss der Kommentar vor dem zu dokumentierenden Element stehen. Das erste Zeichen in einem Kommentar (und am Anfang von Kommentarzeilen) muss * sein. Blöcke werden durch Leerzeilen getrennt.

3. Visual Basic für Anwendungen

Software-Betriebssystem

3.1 Das Wesen von VisualBasic und seine kurze Geschichte

Microsoft Visual Basic (VB) ist ein von der Microsoft Corporation entwickeltes Softwareentwicklungstool, das eine Programmiersprache und eine Entwicklungsumgebung umfasst. Die Visual Basic-Sprache hat den Geist, den Stil und teilweise die Syntax ihres Vorfahren geerbt – der BASIC-Sprache, die viele Dialekte hat. Gleichzeitig vereint Visual Basic die Prozeduren und Elemente objektorientierter und komponentenorientierter Programmiersprachen. Die VB-Entwicklungsumgebung umfasst Werkzeuge zur visuellen Gestaltung von Benutzeroberflächen. (siehe Tabelle).

Visual Basic (Hauptfunktionen)

Visual Basic wird berücksichtigt gutes Mittel schnelle Entwicklung von Programmprototypen, für die Entwicklung von Datenbankanwendungen und allgemein für die komponentenbasierte Methode zur Erstellung von Programmen, die unter Betriebssystemen der Microsoft Windows-Familie laufen.

Im Laufe der Evolution durchlief Visual Basic mehrere aufeinanderfolgende Phasen, die es heute zu einer der beliebtesten Programmiersprachen machten. Also Evolution VisualBasic ging den folgenden Weg:

1. Mai 1991 – Visual Basic 1.0 wurde für Microsoft Windows veröffentlicht. Als Grundlage der Sprache diente die QBasic-Syntax, und die Innovation, die der Sprache später enorme Popularität bescherte, war das Prinzip der Verbindung zwischen der Sprache und der grafischen Oberfläche.

2. September 1992 – Visual Basic 1.0 für DOS wurde veröffentlicht. Es war nicht vollständig kompatibel mit der Windows-Version von VB, da es sich um eine Folgeversion von QuickBASIC handelte und in einem textbasierten Bildschirmmodus lief.

3. November 1992 – Visual Basic 2.0 veröffentlicht. Die Entwicklungsumgebung wurde benutzerfreundlicher und schneller.

4. Im Sommer 1993 wurde Visual Basic 3.0 in den Versionen Standard und Professional veröffentlicht. Darüber hinaus wurde dem Paket eine Engine für die Arbeit mit Access-Datenbanken hinzugefügt.

5. August 1995 – Visual Basic 4.0 – eine Version, die sowohl 32- als auch 16-Bit-Windows-Programme erstellen konnte.

6. Februar 1997 – Visual Basic 5.0 – ab dieser Version war es möglich, neben regulären Anwendungen auch COM-Komponenten zu entwickeln.

7. Mitte 1998 wurde Visual Basic 6.0 veröffentlicht. Danach änderte Microsoft seine Richtlinien in Bezug auf Basissprachen dramatisch. Anstatt Visual Basic zu entwickeln, wurde eine völlig neue Sprache, Visual Basic .NET, erstellt.

8. Im Jahr 2005 wurde eine neue Version von Visual Basic veröffentlicht, gebündelt mit Visual Studio. Sie war mit der neuen Benutzeroberfläche und den neuen Funktionen zufrieden. Die Sprache basiert auf Visual Basic.NET.

9. Ende 2007 veröffentlichte Microsoft neue Version Visual Basic – Visual Basic 2008, das ebenfalls auf Visual Basic.NET basierte.

Basierend auf der Funktionalität und den Besonderheiten der Anwendung können folgende Arten dieses Programms unterschieden werden:

1. Classic Visual Basic (Versionen 5-6) Diese Sprache ist sehr stark an ihre Entwicklungsumgebung und das Windows-Betriebssystem gebunden und dient ausschließlich dem Schreiben von Windows-Anwendungen

2. VisualBasicforApplications (VBA) Hierbei handelt es sich um ein Programmiertool, das sich praktisch nicht vom klassischen Visual Basic unterscheidet und zum Schreiben von Makros und anderen Anwendungsprogrammen für bestimmte Anwendungen entwickelt wurde. Die größte Popularität erlangte es aufgrund seiner Verwendung in Microsoft-Paket Büro. Die weit verbreitete Verwendung von Visual Basic für Applikationen hat in Verbindung mit der anfänglichen mangelnden Beachtung von Sicherheitsproblemen zur weit verbreiteten Verwendung von Makroviren geführt.

3. VisualBasicScriptingEdition (VBScript) Eine Skriptsprache, die eine etwas verkürzte Version des üblichen Visual Basic ist. Wird hauptsächlich zur Automatisierung der Verwaltung verwendet Windows-Systeme sowie zum Erstellen von ASP-Seiten und Skripten für Internet Explorer.

3.2 VisualBasicforApplication-Schnittstelle, Hauptfunktionen und Fähigkeiten

Mit der Erstellung von VisualBasicforApplication hat sich die Microsoft Corporation die Erstellung zum Hauptziel gesetzt Instrumentierung, zugänglich für Benutzer, die keine professionellen Programmierer sind, aber gleichzeitig ausreichend qualifiziert sind, um Anwendungsprogramme und Anwendungen auf Basis von Microsoft Office zu entwickeln und zu entwerfen. Um dieses Problem zu lösen, haben die Entwickler VBA entwickelt und es mit einer Reihe einzigartiger Funktionen ausgestattet. Eine davon, die für den Benutzer am wertvollsten ist, ist die Möglichkeit, nicht standardmäßige (benutzerdefinierte) Dialogboxen, Hinzufügen eines UserForm-Objekts zum Projekt sowie eine praktische Benutzeroberfläche.

Die VisualBasicforApplication-Programmschnittstelle besteht aus einem Komplex diverse Fenster und Registerkarten, die beim Entwerfen der zu erstellenden Anwendung verwendet werden. Die wichtigsten davon sind:

1) Projektfenster (Abb. 2), das die Struktur des erstellten Projekts anzeigt.

2) Programmcode-Fenster (Abb. 3), das den Programmcode des erstellten Projekts anzeigt und das Schreiben eines Programms ermöglicht auf klassische Weise mit dem integrierten Codewort-Editor, von dem es in VBA mehr als 16.000 gibt. In diesem Fenster können Sie auch den Code bearbeiten und auf Fehler prüfen.

3) die Registerkarte „Eigenschaften“ (Abb. 4), auf der die für das angegebene Objekt festgelegten Parameter angezeigt werden und die Möglichkeit besteht, die angegebenen Einstellungen zu ändern.

Durch das Wechseln zwischen Fenstern und Registerkarten kann der Benutzer das erstellte Projekt einfach anpassen.

Mit von VBA-Benutzern erstellten Formularen können Sie benutzerdefinierte Dialogfelder erstellen, um Daten anzuzeigen oder Werte vom Programmbenutzer auf eine Weise zu empfangen, die den Anforderungen des Programms am besten entspricht. Sie können beispielsweise einen Test erstellen, ein Dialogfeld zur Anzeige von Multiple-Choice-Fragen anzeigen und dem Benutzer ermöglichen, eine der Antwortoptionen auszuwählen, die er für richtig hält.

Nicht standardmäßige Dialogfelder ermöglichen dem Programm eine äußerst komplexe Interaktion mit dem Benutzer und bieten eine vielfältige Form der Dateneingabe und -ausgabe.

Ein benutzerdefinierter Dialog wird in VBA erstellt, indem dem Projekt ein UserForm-Objekt hinzugefügt wird. Dieses Objekt stellt ein leeres Dialogfeld dar; Es verfügt über eine Titelleiste und eine Schaltfläche zum Schließen, es fehlen jedoch andere Steuerelemente. Ein benutzerdefiniertes Dialogfeld wird durch das Hinzufügen von Steuerelementen zu einem UserForm-Objekt erstellt und wird normalerweise einfach als Formular bezeichnet (Abbildung 5).

Jedes UserForm-Objekt verfügt über Eigenschaften, Methoden und Ereignisse, die es von der UserForm-Objektklasse erbt.

Jedes UserForm-Objekt enthält außerdem ein Klassenmodul, dem der Benutzer seine eigenen Methoden und Eigenschaften hinzufügt oder Ereignisbehandlungsprozeduren für ein bestimmtes Formular schreibt.

Die Möglichkeit, mithilfe von Anzeigeformularen unabhängig von der Anwendungsumgebung wie Excel eine eigene Oberfläche zu erstellen, ist eine der wertvollsten Funktionen von VBA.

Bildschirmmasken sind vom Benutzer für seine Anwendung erstellte Fenster unterschiedlicher Zwecksetzung und Art. Sie enthalten Steuerelemente, die es dem Benutzer ermöglichen, Informationen mit der Anwendung auszutauschen.

VBA verwendet das erstellte grafische Design des Formulars – mit Einstellungen für die Formulareigenschaften und Steuerelemente –, um alle für die Anzeige des Dialogfelds erforderlichen Informationen zu erhalten: die Abmessungen des Dialogfelds, die darin enthaltenen Steuerelemente usw. Dadurch können Sie mit VBA ein Dialogfeldformular mit einer einzigen Anweisung anzeigen.

Um ein benutzerdefiniertes Dialogfeld anzuzeigen, verwenden Sie die Show-Methode des UserForm-Objekts. Wenn das Formular derzeit nicht in den Speicher geladen ist, lädt die Show-Methode das Formular und zeigt es an. Wenn das Formular bereits geladen ist, zeigt die Show-Methode es einfach an.

Die Anzeige eines einzelnen Dialogfelds reicht normalerweise nicht aus, um eine Aufgabe abzuschließen. Sie möchten fast immer den Status der Steuerelemente eines Dialogfelds ermitteln, um herauszufinden, welche Daten oder Optionen der Benutzer ausgewählt hat. Wenn beispielsweise ein Dialogfeld verwendet wird, um vom Benutzer Informationen darüber zu erhalten, nach welchen Spalten und Zeilen ein Arbeitsblatt sortiert werden soll, müssen Sie herausfinden können, welche Werte der Benutzer nach dem Schließen des Dialogfelds und davor eingegeben hat Der Bestellvorgang beginnt tatsächlich.

In anderen Fällen möchten Sie möglicherweise die Titel von Schaltflächen (oder anderen Steuerelementen) in einem Dialogfeld dynamisch ändern, eine mit einem Zähler verknüpfte Beschriftung oder ein Feld dynamisch aktualisieren oder in ein Dialogfeld eingegebene Daten dynamisch validieren.

In VBA wird es möglich, den in eine Standardanwendung wie Microsoft Excel integrierten Funktionsumfang erheblich zu erweitern und Funktionen zu erstellen, deren Werte von bestimmten Bedingungen und Ereignissen abhängen.

Mit VBA können Sie Tabellenfunktionen programmieren. Um ein separates Arbeitsblatt für ein Programmmodul zu erstellen, verwenden Sie die Registerkarte „Modul einfügen“ im Menü „Visuell“ und den Befehl „Modul“ im Menü „Makro einfügen“. Danach erscheint ein neues Arbeitsblatt „Modele1“. In einem Programmmodul müssen Sie eine Funktion in VBA beschreiben. Sie können im Programmmodulfenster wie in einem kleinen Texteditorfenster arbeiten.

Das Einbetten von Funktionen erfolgt über den Befehl „Objektbrowser“ im Menü „Ansicht“. Benutzerdefinierte Funktionen werden im Programm als unabhängige Objekte behandelt. VBA verfügt über einen umfangreichen Satz integrierter Funktionen, die in Typen unterteilt sind.

Mit Visual Basic können Sie Variablen mit oder ohne Größe reservieren, mit verschiedenen Datentypen arbeiten, Konstanten verwenden, mit mathematischen Operatoren und Funktionen arbeiten und zusätzliche Operatoren verwenden. Die Verwendung von Schleifenoperatoren For Next, Do und Objekten vom Typ „Timer“ (eine unsichtbare Stoppuhr im Programm) ist vorgesehen. Die Genauigkeit der Zeiteinstellung im Programm beträgt 1 Millisekunde oder 1/1000 Sekunde. Der gestartete Timer läuft ständig – d.h. Die entsprechende Interrupt-Behandlungsprozedur wird in einem bestimmten Zeitintervall ausgeführt – bis der Benutzer den Timer stoppt oder das Programm deaktiviert.

In VBA können Sie jede beliebige Eigenschaft für ein Formular festlegen, einschließlich Titel, Größe, Rahmentyp, Hintergrund- und Zeichenfarben, Textschriftart und Hintergrundbild.

Wenn wir alle Funktionen des Programms zusammenfassen, können Sie mit Visual Basic forApplication Folgendes tun:

1) mit Kontrollen arbeiten

Vorteile :

1. Hohe Geschwindigkeit beim Erstellen von Anwendungen mit einer grafischen Oberfläche für MS Windows.

2. Einfache Syntax, die es Ihnen ermöglicht, die Sprache sehr schnell zu beherrschen.

3. Möglichkeit der Kompilierung sowohl in Maschinencode als auch in P-Code (nach Wahl des Programmierers). Im Debug-Modus wird das Programm immer (unabhängig von der Wahl) in P-Code kompiliert, was es Ihnen ermöglicht, das Programm anzuhalten, wesentliche Änderungen am Quellcode vorzunehmen und dann mit der Ausführung fortzufahren, ohne dass eine vollständige Neukompilierung und ein Neustart des Programms erforderlich sind .

4. Schutz vor Fehlern im Zusammenhang mit der Verwendung von Zeigern und Speicherzugriffen. Dieser Aspekt macht Visual-Basic-Anwendungen stabiler, steht aber auch in der Kritik.

5. Möglichkeit, die meisten WinAPI-Funktionen zu verwenden, um die Funktionalität der Anwendung zu erweitern. Dieses Thema wurde am ausführlichsten von Dan Appleman untersucht, der das Buch „Visual Basic Programmer's Guide to the Win32 API“ geschrieben hat.

Kritik :

1. Aspekte von Visual Basic werden häufig kritisiert, beispielsweise die Möglichkeit, die Verfolgung deklarierter Variablen zu deaktivieren, die Möglichkeit, Variablen implizit zu konvertieren und das Vorhandensein des Datentyps „Variant“. Kritikern zufolge ist es dadurch möglich, extrem schlechten Code zu schreiben. Andererseits kann dies als Pluspunkt betrachtet werden, da VB keinen „guten Stil“ vorschreibt, sondern dem Programmierer mehr Freiheit gibt.

2. Mangel an Zeigern, Speicherzugriff auf niedriger Ebene, ASM-Einfügungen. Obwohl das Visual-Basic-Paradigma es dem durchschnittlichen VB-Programmierer erlaubt, auf all das zu verzichten, geraten diese Dinge auch oft in die Kritik. Und obwohl all dies mithilfe undokumentierter Funktionen und bestimmter Tricks in VB implementiert werden kann (z. B. mithilfe von Funktionen zum Erhalten der Zeiger VarPtr(), StrPtr() und ObjPtr()); Die Anwendung dieser Tricks ist deutlich schwieriger als beispielsweise in C++.

Es ist jedoch anzumerken, dass alle Nachteile der Sprache auf ihren Hauptvorteil zurückzuführen sind – die einfache Entwicklung einer grafischen Benutzeroberfläche. Daher verwenden viele Programmierer Visual Basic, um die Benutzeroberfläche zu entwickeln und die Programmfunktionalität in Form von Dynamic Link Libraries (DLLs) zu implementieren, die in einer anderen Sprache (meistens C++) geschrieben sind.

4. Praktischer Teil

4.1 Problemstellung

Zeichnen Sie ein Blockdiagramm und schreiben Sie ein Programm in Pascal. Berechnen Sie den inneren Wert von Wertpapieren. Der innere Wert eines Vermögenswerts wird durch die künftigen Einnahmen aus diesem Vermögenswert bestimmt.

pv – aktueller innerer Wert der Aktie

c – erwarteter Erhalt aus dem betreffenden Vermögenswert

r – vom Anleger erwartete Rendite für Erträge mit dem entsprechenden Risikoniveau

n – Zeitfaktor (in Monaten).

Führen Sie eine Marktanalyse durch und sortieren Sie die Ergebnisse in aufsteigender Reihenfolge der erhaltenen Daten.

4.2 Programmtext in Pascal-Sprache

pv: Array von real;

writeLn('Geben Sie den erwarteten Empfang von ',i,'th Anlage c: ein');

writeLn('Geben Sie die vom Anleger erwartete Rendite ein r:');

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

writeLn('aktueller innerer Wert des Vermögenswerts', pv[i]:1:3);

writeLn('Der innere Wert des Vermögenswerts beträgt', s);

für j:=1 bis 4 tun

wenn pv[j] > pv dann

writeLn('Inventarwert aufsteigend sortiert');

für i:=1 bis 5 do

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

4.3 Testfall

4.4 Ergebnis der Ausführung des Programms an einem Testbeispiel

Abschluss

Zusammenfassend lässt sich also festhalten, dass Tool-Software eine Art von Software ist, die ihre allgemeinen Aufgaben und Funktionen hat.

Da es sich jedoch um eine hochspezialisierte Art von Software handelt, verfügt sie über eine Reihe einzigartiger Eigenschaften und Funktionen, die Lösungen für ihre spezifischen Probleme bieten.

Es ist notwendig, den sich abzeichnenden Trend zur Vereinfachung des Programmierprozesses und zur Schaffung einer bestimmten Unterklasse zu beachten – der semiprofessionellen Programmierung für angewandte Zwecke.

Dies wird einem erfahrenen Computerbenutzer jedoch nicht möglich sein professioneller Programmierer, erstellen Sie bestimmte Anwendungen und kleine Dateien, die in der Microsoft Office-Umgebung ausführbar sind und hauptsächlich für Buchhaltungszwecke und den Dokumentenfluss in kleinen Unternehmen verwendet werden.

Zu diesem Zweck hat Microsoft das Softwarepaket VisualBasicforApplication entwickelt, das den Programmierprozess vereinfacht und es Benutzern statt Programmierern ermöglicht, sich mit der Anwendungsprogrammierung zu befassen. Diese Möglichkeit wurde hauptsächlich durch die Erstellung eines Programmabschnitts – „Skripteditor“ – und die Möglichkeit, „Makros“ als separate Art grafisch programmierbarer Module aufzuzeichnen und auszuführen, implementiert. Die Möglichkeit, Anwendungen mit einer grafischen Oberfläche für MS Windows zu erstellen, wurde implementiert. Ein weiterer Vorteil dieser Art von Tool-Software ist ihre einfache Syntax, die es Ihnen ermöglicht, die Sprache schnell zu beherrschen und sie zum Programmieren in allen Standard-Microsoft-Office-Anwendungen zu verwenden.

Daher ist es schwierig, die Bedeutung von Tools im Allgemeinen und von VisualBasicforApplication im Besonderen zu überschätzen, obwohl die oben erwähnten Mängel ebenfalls bestehen. Dabei handelt es sich jedoch nicht einmal um negative Aspekte des Produkts, sondern vielmehr um Leitlinien zur weiteren Verbesserung der Software in Form von VisualBasicforApplication.

1. Echtzeitalgorithmussprachen / Ed. Yanga S. / 2004

2. PC Magazine Russische Ausgabe Nr. 2 2008 Computer heute.

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

4. Informatik und Informationstechnologie: Lehrbuch / Ed. Romanova D. Yu. / Eksmo Publishing House LLC, 2007.

5. Die neueste Enzyklopädie des Personal Computers / Ed. Leontyeva V. /Moskau, 1999. – 271 S.

6. Neue Programmiersprachen und Trends in ihrer Entwicklung / Ed. Uschkowa V. / 2001

7. Pädagogik / Ed. Pidkasistogo P.I./ – M.: Pädagogische Gesellschaft Russland, 2000.

8. Programmierung für Microsoft Excel 2000 in 21 Tagen. /Hrsg. Kharisa M./ – M.: Williams, 2000.

9. Simonovich S. Informatik: Grundkurs. Lehrbuch für Universitäten. St. Petersburg, Peter, 2002

10. Kein Problem mit Excel 2000. /Hrsg. Kowalski/ – M.: Binom, 2000.

11. „Effektive Arbeit unter Windows 98“ / Ed. Stinson K. / 2000. – 247 S.

12. Programmiersprachen. Buch 5 /Hrsg. Vaulina A.S. / 2003

13. Programmiersprachen: Entwicklung und Implementierung / Ed. Terrence P. / 2001

14. Elektronisches Lehrbuch der Informatik. Alekseev E.G. http://www.stf.mrsu.ru/economic/lib/Informatics/text/Progr.html\

Werkzeugsoftware zur Verwendung bei der Gestaltung, Entwicklung und Wartung von Computerprogrammen bestimmt. Die folgenden Arten von Programmen können als Instrumentalsoftware klassifiziert werden:

Compiler

Übersetzer

Monteure

Dolmetscher

Linker

Debugger

Automatisierte Programmtesttools

Dokumentationsgeneratoren

SDK

Versionskontrollsysteme

Programmiersysteme und integrierte Programmentwicklungsumgebungen

Pr(CASE)

Compiler ist ein Softwaretool zum Übersetzen von in einer beliebigen Programmiersprache geschriebenen Programmen in Programme, die in binären Maschinencodes dargestellt werden. Compiler werden in drei Typen unterteilt: Übersetzer, Assembler und Interpreter.

Übersetzer ist ein Compiler, der völligübersetzt Programme in beliebigen Programmiersprachen in Maschinencodes oder sogenannten Objektcode. Das resultierende Maschinencodeprogramm kann später in ein ausführbares Modul umgewandelt und geladen werden RAM und zur Ausführung durch den Prozessor gestartet. Es wird eine Art Übersetzer betrachtet Assembler – ein Programm, das in einer maschinenorientierten Sprache („Mnemonikcode“ oder „Assemblersprache“) geschriebenen Programmtext in Binärcode übersetzt. Das Konzept der Assemblersprache wird oft direkt mit einer maschinenorientierten Sprache in Verbindung gebracht. Daher wird dieser Begriff manchmal verwendet, um eine Programmiersprache auf Maschinenebene zu bezeichnen.

Dolmetscher ist ein Compiler, der Zeile für Zeile (oder jeweils einen Befehl) das Quellprogramm einer Programmiersprache in Binärcodes übersetzt und diesen Binärcode sofort zur Ausführung an den Prozessor überträgt.

Linker- ein Programm, das produziert Layout ausführbare Datei oder Bootcode – nimmt ein oder mehrere Objektmodule als Eingabe und stellt daraus ein ausführbares Modul zusammen, das in den Speicher geladen und zur Ausführung durch den Prozessor gestartet werden kann.

Debugger– In der Regel handelt es sich um einen Teil einer Software-Entwicklungsumgebung oder eine separate Anwendung zur Fehlersuche in einem Programm. Mit dem Debugger können Sie ein Programm Schritt für Schritt verfolgen, die Werte von Variablen während der Programmausführung überwachen, festlegen oder ändern, Haltepunkte oder Stoppbedingungen festlegen und entfernen und so weiter.

Automatisierte ProgrammtesttoolsSoftwaremodule Damit können Sie automatisierte Tests mit minimalem menschlichen Eingriff erstellen, Testsequenzen automatisch als Eingabe ausgeben und die Reaktion des zu testenden Programms überwachen. In der Regel testen solche Tools Programme auf Leistung und Zuverlässigkeit bei großen Datenströmen – das ist der sogenannte „Lasttest“. Überprüfen Sie beispielsweise Programme bei starkem Netzwerkverkehr usw. Es gibt jedoch Tools zum Testen der Funktionalität, beispielsweise Tools, mit denen überprüft werden soll, ob eine Anwendung Ihren Geschäftsanforderungen entspricht.

Dokumentationsgenerator– ein Programm oder Softwarepaket, das es Ihnen ermöglicht, Dokumentation für Programmierer (API-Dokumentation) und/oder für Endbenutzer des Systems, für speziell kommentierten Quellcode und in einigen Fällen für ausführbare Module (erhalten an der Ausgabe des) zu erhalten Compiler). Typischerweise analysiert der Generator den Quellcode des Programms und hebt syntaktische Strukturen hervor, die wichtigen Programmobjekten entsprechen (Typen, Klassen und ihre Mitglieder/Eigenschaften/Methoden, Prozeduren/Funktionen usw.). Die Analyse nutzt auch Metainformationen über Programmobjekte, die im Formular dargestellt werden Kommentare dokumentieren. Basierend auf allen gesammelten Informationen wird eine vorgefertigte Dokumentation erstellt, normalerweise in einem der allgemein akzeptierten Formate – HTML, HTMLHelp, PDF, RTF und andere.

Entwicklungskit (SDK, Software-Entwicklungskit) oder „Devkit“ ist eine Reihe von Programmen und Routinenbibliotheken, die es Softwarespezialisten ermöglichen, Anwendungen für ein bestimmtes Softwarepaket, eine Kernentwicklungssoftware, eine Hardwareplattform, ein Computersystem, Videospielkonsolen, Betriebssysteme und andere Plattformen zu erstellen. Der Programmierer erhält das SDK in der Regel direkt vom Entwickler der Zieltechnologie oder des Zielsystems. Häufig wird das SDK über das Internet verteilt. Viele SDKs werden kostenlos verteilt, um Entwickler zur Nutzung einer bestimmten Technologie oder Plattform zu ermutigen.

Versionskontrollsystem (Versionskontrollsystem, VCS oder Revisionskontrollsystem) - Software zur Erleichterung der Arbeit mit sich ändernden Informationen. Mit einem Versionskontrollsystem können Sie mehrere Versionen desselben Dokuments speichern, bei Bedarf auf frühere Versionen zurückgreifen, feststellen, wer wann eine bestimmte Änderung vorgenommen hat, und vieles mehr. Solche Systeme werden am häufigsten in der Softwareentwicklung verwendet, um die Quellcodes des zu entwickelnden Programms zu speichern. Sie können jedoch auch in anderen Bereichen erfolgreich eingesetzt werden, in denen mit einer Vielzahl sich ständig ändernder elektronischer Dokumente gearbeitet wird.

Integrierte Entwicklungsumgebung (IDE) (Integrierte Entwicklungsumgebung, IDE) ist ein Softwaresystem zur Softwareentwicklung. Typischerweise umfasst die Entwicklungsumgebung einen Texteditor, einen Compiler und/oder Interpreter, Build-Automatisierungstools und einen Debugger. Manchmal enthält es auch Tools zur Integration in Versionskontrollsysteme und verschiedene Tools zur Vereinfachung des Designs einer grafischen Benutzeroberfläche. Viele moderne Entwicklungsumgebungen umfassen auch Klassenbrowser, Anlageninspektor Und Klassenhierarchiediagramm- zur Verwendung in der objektorientierten Softwareentwicklung. Obwohl es Entwicklungsumgebungen gibt, die für mehrere Sprachen konzipiert sind – etwa Eclipse, NetBeans, Embarcadero RAD Studio oder Microsoft Visual Studio –, ist die Entwicklungsumgebung in der Regel für eine bestimmte Programmiersprache gedacht – etwa Visual Basic, Delphi, Dev-C++. Ein Sonderfall von ISR ist eine visuelle Entwicklungsumgebung, die die Möglichkeit beinhaltet, die Programmoberfläche visuell zu bearbeiten. Manchmal wird ISR genannt „Programmiersystem“ , obwohl das WBS in den meisten Fällen einen erweiterten Funktions- und Leistungsumfang abdeckt.

Automatisierungssysteme programmieren(Computergestützte Systemtechnik, FALL ) ist ein Softwarepaket, das den gesamten technologischen Prozess der Analyse, des Designs, der Entwicklung, der Codierung, des Debuggens und der Wartung komplexer Softwaresysteme automatisiert. Der Hauptvorteil der CASE-Technologie ist die Unterstützung der kollektiven Arbeit an einem Projekt aufgrund der Möglichkeit, in einem lokalen und globalen Netzwerk von Entwicklern zu arbeiten, beliebige Projektfragmente zu exportieren (importieren) und das Programmmanagement zu organisieren. CASE-Systeme unterstützen in der Regel die automatische Codegenerierung von Programmen – die Erstellung eines Frameworks durch ein Systemprogramm und die Erstellung eines vollständigen Produkts mit Systemdokumentation.

Anwendungssoftware

Diese Kategorie umfasst Programme Softwaresysteme und Softwaresysteme, mit deren Hilfe spezifische Benutzeraufgaben für Produktions-, Kreativ-, Unterhaltungs-, Bildungs- oder andere Zwecke gelöst werden. Anwendungssoftware wird in folgende Typen unterteilt:

Problemorientierte Programme

Systeme computergestütztes Design(CAD)

Software für automatisierte Steuerungssysteme

Allzweckprogramme

Bürosysteme

Intelligente Systeme

Softwaresysteme Multimedia

Desktop-Publishing

Problemorientierte Programme Entwickelt, um angewandte Probleme im Zusammenhang mit menschlichen Produktionsaktivitäten zu lösen, zum Beispiel:

Buchhaltungsprogramme;

Finanzaktivitätsprogramme;

Programme zur Personalverwaltung;

Unternehmensmanagementprogramme;

Bankinformationen und automatisierte Systeme;

Automatisierte Arbeitsplätze im Unternehmen;

Computergestützte Designsysteme (CAD-System – Computergestütztes Designsystem ) sollen die Arbeit von Designern, Technologen, Elektrikern und Elektronikingenieuren, Architekten und anderen Spezialisten im Zusammenhang mit der Entwicklung von Zeichnungen, Diagrammen, Modellen, grafischer Modellierung und Design unterstützen. Systeme dieser Klasse stellen hohe Ansprüche an Computerhardware, Geschwindigkeit und Speicher. Das Vorhandensein von Bibliotheken mit integrierten Funktionen, Objekten, Schnittstellen zu Grafiksystemen und Datenbanken ist unerlässlich.

Im CAD ist es üblich, sieben Arten der Unterstützung zu unterscheiden:

Technisch(TO), einschließlich verschiedener Hardware (Computer, Peripheriegeräte, Netzwerkschaltgeräte, Kommunikationsleitungen, Messgeräte);

Mathematisch(MO), das mathematische Methoden, Modelle und Algorithmen kombiniert, um Design durchzuführen;

Software(Software), dargestellt durch CAD-Computerprogramme;

Informativ(IO), bestehend aus Datenbanken (DBs), Datenbankverwaltungssystemen (DBMS) sowie anderen im Design verwendeten Daten. Der gesamte beim Entwurf verwendete Datensatz wird als CAD-Informationsfonds bezeichnet, und die Datenbank wird zusammen mit dem DBMS als Datenbank (DB) bezeichnet.

Sprachlich(LO), ausgedrückt durch die Sprachen der Kommunikation zwischen Designern und Computern, Programmiersprachen und Sprachen des Datenaustauschs zwischen technischen CAD-Tools;

Methodisch(MetO), das verschiedene Entwurfstechniken umfasst, manchmal auch mathematische Software;

Organisatorisch(OO), vertreten durch Besetzungstabellen, Berufsbeschreibungen und andere Dokumente, die die Arbeit des Projektunternehmens regeln.

Nach Einsatzgebieten lassen sich folgende CAD-Gruppen unterscheiden:

CAD für den Einsatz im allgemeinen Maschinenbau. Sie werden oft als Maschinenbau-CAD- oder MCAD-Systeme (Mechanical CAD) bezeichnet.

CAD für Funkelektronik. Ihre Namen sind ECAD- (Electronic CAD) oder EDA- (Electronic Design Automation) Systeme.

CAD im Bereich Architektur und Bauwesen.

Darüber hinaus sind zahlreiche spezialisiertere CAD-Systeme bekannt, die entweder in diese Gruppen eingeordnet sind oder einen unabhängigen Zweig der Klassifizierung darstellen. Beispiele für solche Systeme sind CAD-Systeme für hochintegrierte Schaltkreise (LSI); Flugzeug-CAD; CAD von elektrischen Maschinen usw.

Von Sinn und Zweck der Sache zwischen CAD oder CAD-Subsystemen unterscheiden, die unterschiedliche Aspekte des Designs bereitstellen. Somit erscheinen CAE/CAD/CAM-Systeme als Teil von MCAD:

CAD-Funktionsdesign, ansonsten CAD-F- oder CAE-Systeme (Computer Aided Engineering).

Entwerfen Sie CAD-Systeme für den allgemeinen Maschinenbau – CAD-K, oft einfach CAD-Systeme genannt;

Technologische CAD-Systeme für den allgemeinen Maschinenbau – CAD-T, auch automatisierte Systeme zur technologischen Vorbereitung der Produktion ASPP oder CAM-Systeme (Computer Aided Manufacturing) genannt.

Automatisiertes Kontrollsystem (ACS)- eine Reihe von Hardware und Software zur Steuerung verschiedener Prozesse im Rahmen eines technologischen Prozesses, einer Produktion oder eines Unternehmens. ACS werden in verschiedenen Branchen, im Energiesektor, im Transportwesen usw. eingesetzt. Der Begriff „automatisiert“ betont im Gegensatz zum Begriff „automatisch“ die Beibehaltung bestimmter Funktionen durch den menschlichen Bediener im Zusammenhang mit der Festlegung eines Ziels, der Entscheidungsfindung oder der Ausführung bestimmter Funktionen, die nicht möglich sind automatisiert werden.

Die bekanntesten Klassen automatisierter Steuerungssysteme sind:

Automatisiertes Prozessleitsystem (APCS) – löst die Probleme der Betriebsführung und Steuerung technischer Anlagen in Industrie, Energie und Verkehr;

Automatisiertes System zur technischen (technologischen) Produktionsvorbereitung (ASTPP) ist ein System, das mit der Organisation technischer Prozesse verbunden ist, die in der Produktion existieren oder gerade entstehen, basierend auf der Programmierung numerisch gesteuerter Maschinen, der Herstellung und Montage programmgesteuerter Roboter, usw.

Automatisiertes Produktionsmanagementsystem (APS) – löst die Probleme der Produktionsorganisation, einschließlich grundlegender Produktionsprozesse, Eingangs- und Ausgangslogistik. Führt eine kurzfristige Produktionsplanung unter Berücksichtigung der Produktionskapazität, der Produktqualitätsanalyse und der Modellierung des Produktionsprozesses durch. Zur Lösung dieser Probleme werden MIS- und MES-Systeme sowie LIMS-Systeme eingesetzt.

Automatisiertes Unternehmensmanagementsystem (EMS) – MRP-, MRP II- und ERP-Systeme werden zur Lösung dieser Probleme eingesetzt. Wenn es sich bei dem Unternehmen beispielsweise um eine Hochschule handelt, gibt es für eine Universität ein automatisiertes Kontrollsystem.

Als Beispiel Die bekanntesten automatisierten Steuerungssysteme sind:

Automatisiertes Verkehrskontrollsystem oder ASUD – zur Steuerung von Fahrzeugen und Fußgängerströmen auf dem Straßennetz einer Stadt oder Autobahn;

Automatisiertes Straßenbeleuchtungssteuerungssystem („ASU UL“) – entwickelt, um die Automatisierung der zentralen Steuerung der Straßenbeleuchtung zu organisieren;

„Automatisiertes Managementsystem“ für Hotels;

Automatisiertes Reisekontrollsystem (ASCP) im öffentlichen Verkehr in Moskau usw.

In letzter Zeit wurden sie häufig eingesetzt und implementiert Automatisierte Informationsverarbeitungs- und Kontrollsysteme (ASOPI) – Dies ist eine breite Klasse automatisierter Steuerungssysteme, die mit der Automatisierung im Bereich der Verarbeitung, Speicherung und Übertragung von Informationen verbunden sind. ASOIU ist im Gegensatz zu automatisierten Steuerungssystemen in der Form nahezu überall einsetzbar Informationssysteme, Steuerungssysteme, Automatisierungssysteme für nahezu jeden Bereich menschlicher Tätigkeit. Moderne ASOIU basieren auf der Nutzung Computernetzwerke, konzentrieren sich auf die Verarbeitung von Grafik-, Video- und Audioinformationen, nutzen Multimedia-Technologien und Elemente künstlicher Intelligenzsysteme. Ohne diese Art von Software ist ein modernes Unternehmen, unabhängig von Größe und Tätigkeitsbereich, derzeit kaum vorstellbar. Dies erklärt den rasanten Anstieg des Einsatzes automatisierter Informationssysteme in allen Wirtschaftszweigen.

Zur Gruppe Allzweckprogramme kann zugeschrieben werden:

Datenbankverwaltungssysteme (DBMS)

Datenbankserver

Berichtsgeneratoren

Textverarbeitungen

Tabellenprozessoren

Tools für Präsentationsgrafiken

Integrierte Pakete

Methodenorientierte Programme

Datenbankverwaltungssysteme (DBMS)– Bereitstellung der Organisation und Speicherung lokaler Datenbanken auf autonom arbeitenden Computern oder der zentralen Speicherung von Datenbanken auf einem Dateiserver und des Netzwerkzugriffs darauf. Moderne DBMS enthalten Elemente der CASE-Technologie des Designprozesses, insbesondere:

Visualisierung von Datenbankschemata;

Automatische Unterstützung der Datenbankintegrität für verschiedene Verarbeitungsarten (Einbindung, Löschung, Änderung);

Die Anwesenheit sogenannter Meister, die den Designprozess unterstützen;

Vorlagen und Prototypen von Datenbankstrukturen, Formularberichten usw.

Datenbankserver ist eine Software zum Erstellen und Verwenden integrierter Datenbanken in einer Client-Server-Architektur bei der Arbeit in einem Netzwerk.

Mehrbenutzer-DBMS in der Netzwerkversion der Informationsverarbeitung speichern Daten auf einem Dateiserver, einem speziell dafür vorgesehenen Computer, aber die Verarbeitung selbst erfolgt auf Workstations.

Verschiedenen Datenbanktypen gemeinsam ist die Verwendung der relationalen Sprache SQL (Structured Query Language) zur Implementierung von Datenabfragen.

Berichtsgeneratoren(Berichtsserver) ermöglichen die Durchführung von Abfragen und die Erstellung von Berichten in gedruckter oder Bildschirmform in einem Netzwerk mit einer Client-Server-Architektur. Der Berichtsserver stellt über die Datenbankdiensttreiber (Crystal Reports, Profit für Windows) eine Verbindung zum Datenbankserver her.

Textverarbeitungen Entwickelt für die Arbeit mit Textdokumenten. Entwicklung diese Richtung sind Microsoft Word-Veröffentlichungssysteme).

Tabellenprozessoren sind eine komfortable Umgebung für Berechnungen, die Geschäftsgrafiktools und spezielle Verarbeitungstools (Microsoft Excel) enthält.

Tools für Präsentationsgrafiken– Hierbei handelt es sich um spezielle Programme zur Erstellung von Bildern und deren Anzeige auf dem Bildschirm, zur Vorbereitung von Diafilmen, Cartoons und deren Gestaltung (Microsoft PowerPoint, Flash).

Integrierte Pakete ist eine Reihe mehrerer Softwareprodukte, die sich funktional ergänzen, gängige Informationstechnologien unterstützen und auf einer einzigen Betriebssystem-Computerplattform (Microsoft Office) implementiert sind.

Komponenten integrierter Pakete können isoliert voneinander arbeiten und dies auch tun gemeinsame Schnittstelle, wodurch sie leichter zu meistern sind.

Methodenorientierte PPP Bereitstellung, unabhängig vom Fachgebiet und der Funktion von Informationssystemen, mathematische, statistische und andere Methoden zur Lösung von Problemen. Die gebräuchlichsten Methoden sind mathematische Programmierung, Lösen von Differentialgleichungen, Simulationsmodellierung, Operations Research (Storm, SYSTAT, SAS usw.)

Büro-PPPs sorgen für die organisatorische Verwaltung der Büroaktivitäten.

Die Kategorie der Büro-ÖPP umfasst:

Organisatoren (Scheduler) – Software zur Planung der Arbeitszeit, Erstellung von Besprechungsprotokollen, Zeitplänen, Führung von Aufzeichnungen und eines Telefonbuchs (Rechner, Notizbuch, Uhr, Kalender usw.)

Übersetzungsprogramme, Rechtschreibprüfung, Texterkennung (Tiger – russisches Spracherkennungssystem, Stylus Lingvo Office mit Fine Reader, Stylus für Windows – Übersetzer in die angegebene Sprache, Rechtschreibkorrektur Lingvo Corrector und Resident-Wörterbuch Lingvo)

Kommunikationspakete zur Organisation der Benutzerinteraktion mit entfernten Teilnehmern oder Netzwerkinformationsressourcen (ICQ usw.)

Browser, Tools zum Erstellen von WWW-Seiten

E-Mail-Tools (Pegasys Mail)

Desktop-Publishing ist eine umfassende Softwareklasse, die die Hauptkomponenten von Veröffentlichungsaktivitäten implementiert.

Zu dieser Softwareklasse gehören Programme, die Folgendes bieten:

Texte formatieren und bearbeiten

Automatische Textpaginierung

Computerlayout der gedruckten Seite

Montage von Grafiken

Vorbereitung von Illustrationen

Vorbereitung des Originallayouts

Zu den Desktop-Publishing-Systemen gehören:

Photoshop für Windows

Multimedia-Software. Die Hauptbedeutung dieser Softwaretools liegt in der Erstellung und Nutzung von Audio- und Videoinformationen zur Erweiterung Informationsraum Benutzer (verschiedene Datenbanken mit Computerkunstwerken, Videotheken, Mediatheken, Bibliotheken mit Tonaufnahmen usw.)

Künstliche Intelligenzsysteme:

Shell-Programme zum Erstellen von Expertensystemen durch Befüllen von Wissensdatenbanken und logischen Inferenzregeln

Vorgefertigte Expertensysteme zur Entscheidungsfindung innerhalb spezifischer Fachgebiete

Systeme zur Analyse und Erkennung von Sprache, Text usw.

Unter intelligenten Systemen (IS) können automatische und automatisierte Systeme mit Elementen künstlicher Intelligenz (KI) verstanden werden.

Die Hauptbereiche der KI sind:

Wissensrepräsentation und Entwicklung wissensbasierter Systeme

Kreativität und Spiele (Schach, Dame, Go)

Entwicklung natürlichsprachlicher Schnittstellen und maschinelle Übersetzung von Texten

Mustererkennung (jedem Objekt wird eine Merkmalsmatrix zugeordnet, anhand derer es erkannt wird)

Neue Komponentenarchitekturen (Neuronale Computer)

Intelligente Roboter

Spezielle Software (Lisp, Prolog-Sprachen)

Schulung und Selbstlernen (einschließlich Modelle, Methoden und Algorithmen zur automatischen Wissensakkumulation auf der Grundlage von Datenanalyse und -synthese)

Wissen– Dies ist die Identifizierung der Gesetze des Fachgebiets (Prinzipien, Zusammenhänge, Gesetze), die die Lösung von Problemen in diesem Bereich ermöglichen. Wissen sind Daten über Daten oder Metadaten.

Wissensrepräsentationsmodelle:

Produktmodelle

Semantische Modelle

Rahmenmodelle

Formale Logikmodelle

Softwaretools sind Programme, die bei der Entwicklung, Änderung oder Entwicklung anderer Anwendungs- oder Systemprogramme verwendet werden.

Softwaretools können in allen Phasen der Softwareentwicklung Unterstützung leisten. Sie haben einen ähnlichen Zweck Programmiersysteme.

Zu den Werkzeugprogrammen gehören beispielsweise:

    Redakteure;

    Tools zur Programmkomposition;

    Hilfsprogramme, die häufig verwendete Systemaktionen implementieren;

    Grafiksoftwarepakete usw.

      1. Programmiersystem

Ein Programmiersystem ist ein System zur Entwicklung neuer Programme in einer bestimmten Programmiersprache.

Moderne Programmiersysteme stellen Benutzern in der Regel leistungsstarke und komfortable Tools zur Programmentwicklung zur Verfügung. Diese beinhalten:

    Compiler oder Interpreter;

    integrierte Entwicklungsumgebung;

    Werkzeuge zum Erstellen und Bearbeiten von Programmtexten;

    umfangreiche Bibliotheken Standardprogramme und Funktionen;

    Debugging-Programme, d.h. Programme, die dabei helfen, Fehler im Programm zu finden und zu beheben;

    benutzerfreundliche Dialogumgebung;

    Mehrfenster-Betriebsmodus;

    leistungsstarke Grafikbibliotheken; Dienstprogramme für die Arbeit mit Bibliotheken

    eingebauter Assembler;

    integrierter Helpdesk;

    weitere Besonderheiten.

Translator (englischer Übersetzer - Übersetzer) ist ein Übersetzerprogramm. Es wandelt ein in einer der Hochsprachen geschriebenes Programm in ein Programm bestehend aus Maschinenanweisungen um.

Übersetzer werden als Compiler oder Interpreter implementiert. Hinsichtlich der Arbeitsausführung unterscheiden sich Compiler und Interpreter erheblich.

Der Compiler (engl. Compiler – Compiler, Collector) liest das gesamte Programm, übersetzt es und erstellt eine vollständige Version des Programms in Maschinensprache, die dann ausgeführt wird.

Der Dolmetscher (englischer Dolmetscher – Dolmetscher, Dolmetscher) übersetzt und führt das Programm Zeile für Zeile aus.

Sobald ein Programm kompiliert ist, werden weder das Quellprogramm noch der Compiler mehr benötigt. Gleichzeitig muss das vom Interpreter verarbeitete Programm bei jedem Programmstart erneut in Maschinensprache übersetzt werden.

Kompilierte Programme laufen schneller, interpretierte Programme lassen sich jedoch leichter reparieren und ändern.

Beliebte Programmiersysteme – Turbo Basic, Quick Basic, Turbo Pascal, Turbo C, Borland C++, Borland Delphi usw.

Jede spezifische Sprache ist entweder auf Kompilation oder Interpretation ausgerichtet – je nachdem, für welchen Zweck sie erstellt wurde. Zum Beispiel, Pascal Wird normalerweise zur Lösung recht komplexer Probleme verwendet, bei denen die Programmgeschwindigkeit wichtig ist. Daher wird diese Sprache normalerweise mithilfe eines Compilers implementiert. Andererseits, Basic wurde als Sprache für unerfahrene Programmierer entwickelt, für die die zeilenweise Ausführung eines Programms unbestreitbare Vorteile hat.

Manchmal gibt es sowohl einen Compiler als auch einen Interpreter für dieselbe Sprache. In diesem Fall können Sie einen Interpreter zum Entwickeln und Testen des Programms verwenden und anschließend das debuggte Programm kompilieren, um seine Ausführungsgeschwindigkeit zu verbessern.

      Softwaretrends

Instrumentelle Software als besondere Art von Software zeichnet sich durch Allgemeines und Privates aus

Funktionen, wie bei jeder Software im Allgemeinen. Die allgemeinen Funktionen werden oben besprochen, und die speziellen Funktionen, die nur diesem Programmtyp innewohnen, sind:

1. Erstellen des Textes des zu entwickelnden Programms unter Verwendung speziell festgelegter Codewörter (Programmiersprache) sowie eines bestimmten Zeichensatzes und deren Position in der erstellten Datei – Programmsyntax.

2. Übersetzung des Textes des erstellten Programms in maschinenorientierten Code, der für die Computererkennung zugänglich ist. Wenn das Volumen des erstellten Programms erheblich ist, wird es in einzelne Module unterteilt und jedes Modul wird separat übersetzt.

3. Verbinden einzelner Module zu einem einzigen ausführbaren Code unter Einhaltung der erforderlichen Struktur, um die Koordination der Interaktion einzelner Teile untereinander sicherzustellen.

4. Testen und Überwachen des erstellten Programms, Identifizieren und Beseitigen formaler, logischer und syntaktischer Fehler, Überprüfen von Programmen auf das Vorhandensein verbotener Codes sowie Bewerten der Leistung und des Potenzials des erstellten Programms.

Arten von Werkzeugsoftware

Anhand der der Instrumentalsoftware zugewiesenen Aufgaben können wir eine Vielzahl verschiedener Arten von Instrumentalsoftware unterscheiden:

1) Texteditoren

2) Integrierte Entwicklungsumgebungen

4) Compiler

5) Dolmetscher

6) Linker

7) Parser und Parser-Generatoren (siehe Javacc)

8) Monteure

9) Debugger

10) Profiler

11) Dokumentationsgeneratoren

12) Tools zur Codeabdeckungsanalyse

13) Kontinuierliche Integrationstools

14) Automatisierte Testtools

15) Versionskontrollsysteme usw.

Es ist zu beachten, dass Shells zur Erstellung von Anwendungsprogrammen auch von Toolprogrammen erstellt werden und daher zu den Anwendungsprogrammen gezählt werden können. Betrachten wir kurz die Zwecke einiger Instrumentalprogramme.

Texteditoren.

Ein Texteditor ist ein Computerprogramm zum Verarbeiten von Textdateien, beispielsweise zum Erstellen und Vornehmen von Änderungen.

Arten von Texteditoren.

Herkömmlicherweise gibt es zwei Arten von Editoren: Streaming-Texteditoren und interaktiv.

1) Streaming-Texteditoren

Stream-Texteditoren sind Computerprogramme, die dazu dienen, aus einer Textdatei empfangene Eingabetextdaten automatisch gemäß von Benutzern vordefinierten Regeln zu verarbeiten. Meistens handelt es sich bei den Regeln um reguläre Ausdrücke in einem Dialekt, der für einen bestimmten Texteditor spezifisch ist. Ein Beispiel für einen solchen Texteditor ist der Sed-Editor.

2) Interaktive Texteditoren

Interaktive Texteditoren sind eine Familie von Computerprogrammen, mit denen interaktiv Änderungen an einer Textdatei vorgenommen werden können. Mit solchen Programmen können Sie den aktuellen Status der Textdaten in einer Datei anzeigen und verschiedene Aktionen darauf ausführen.

Interaktive Texteditoren enthalten häufig erhebliche Zusatzfunktionen, die dazu dienen, einen Teil der Bearbeitungsvorgänge zu automatisieren oder die Anzeige von Textdaten abhängig von ihrer Semantik zu ändern. Ein Beispiel für die letztgenannte Art von Funktionalität ist die Syntaxhervorhebung.

Texteditoren dienen zum Erstellen und Bearbeiten von Textdokumenten. Am gebräuchlichsten sind MS WORD und Lexicon. Die Hauptfunktionen von Texteditoren sind:

1) Arbeiten mit Dokumentfragmenten,

2) Einfügen von Objekten, die in anderen Programmen erstellt wurden

3) Aufteilen des Texts des Dokuments in Seiten

4) Tabellen eingeben und bearbeiten

5) Eingeben und Bearbeiten von Formeln

6) Absatzformatierung

7) Automatische Erstellung von Listen

8) Automatische Erstellung eines Inhaltsverzeichnisses.

Dutzende Texteditoren sind bekannt. Die am besten zugänglichen sind NOTEPAD (Notizblock), WORDPAD, WORD. Die Bedienung eines bestimmten Texteditors wird in der Regel durch Funktionen bestimmt, deren Zweck sich in Menüpunkten und im Hilfesystem widerspiegelt.

Integrierte Entwicklungsumgebung

Die integrierte Entwicklungsumgebung (ISD) ist ein Softwaresystem, das von Programmierern zur Entwicklung von Software verwendet wird. Typischerweise umfasst die Entwicklungsumgebung:

1) Texteditor

2) Compiler und/oder Interpreter

3) Werkzeuge zur Montageautomatisierung

4) Debugger.

Manchmal enthält es auch Tools zur Integration mit Versionskontrollsystemen und verschiedene Tools zur Vereinfachung des Designs einer grafischen Benutzeroberfläche. Viele moderne Entwicklungsumgebungen umfassen außerdem einen Klassenbrowser, einen Objektinspektor und ein Klassenhierarchiediagramm zur Verwendung in der objektorientierten Softwareentwicklung. Obwohl es Entwicklungsumgebungen gibt, die für mehrere Programmiersprachen konzipiert sind – etwa Eclipse, NetBeans, Embarcadero RAD Studio, Qt Creator oder Microsoft Visual Studio –, ist die Entwicklungsumgebung in der Regel für eine bestimmte Programmiersprache gedacht – etwa Visual Basic, Delphi, Dev -C++.

Ein Sonderfall von ISR ist eine visuelle Entwicklungsumgebung, die die Möglichkeit beinhaltet, die Programmoberfläche visuell zu bearbeiten.

SDK(vom englischen Software Development Kit) oder „Devkit“ ist eine Reihe von Entwicklungstools, die es Softwarespezialisten ermöglichen, Anwendungen für ein bestimmtes Softwarepaket, grundlegende Entwicklungssoftware, Hardwareplattform, Computersystem, Videospielkonsolen, Betriebssysteme und andere Plattformen zu erstellen .

Der Programmierer erhält das SDK in der Regel direkt vom Entwickler der Zieltechnologie oder des Zielsystems. Häufig wird das SDK über das Internet verteilt. Viele SDKs werden kostenlos verteilt, um Entwickler zur Nutzung einer bestimmten Technologie oder Plattform zu ermutigen.

SDK-Anbieter ersetzen manchmal den Begriff „Software im Software Development Kit“ durch einen präziseren Begriff. Beispielsweise bieten Microsoft und Apple Driver Development Kits (DDK) für die Entwicklung von Gerätetreibern an, und PalmSource nennt sein Entwicklungs-Toolkit PalmOS Development Kit (PDK).

SDK-Beispiele:

5) Java-Entwicklungskit

6) Opera Devices SDK

Compiler.

Compiler –

1) Ein Programm oder technisches Tool, das die Kompilierung durchführt.

2) Das zur Kompilierung verwendete Maschinenprogramm.

3) Ein Übersetzer, der ein in der Quellsprache geschriebenes Programm in ein Objektmodul umwandelt.

4) Ein Programm, das Programmtext in einer Hochsprache in ein entsprechendes Programm in Maschinensprache übersetzt.

5) Ein Programm, das Hochsprache in absoluten Code oder manchmal in Assemblersprache übersetzen soll. Die Eingabeinformationen für den Compiler (Quellcode) sind eine Beschreibung des Algorithmus oder Programms in einer problemorientierten Sprache, und die Ausgabe des Compilers ist eine äquivalente Beschreibung des Algorithmus in einer maschinenorientierten Sprache (Objektcode).

Zusammenstellung --

1) Übersetzung eines Programms in eine maschinensprachähnliche Sprache.

2) Übersetzung eines in der Quellsprache geschriebenen Programms in ein Objektmodul. Wird vom Compiler ausgeführt.

Kompilieren – Übersetzen eines Maschinenprogramms aus einer problemorientierten Sprache in eine maschinenorientierte Sprache.

Arten von Compilern:

1) Vektorisieren. Übersetzt Quellcode in Maschinencode auf Computern, die mit einem Vektorprozessor ausgestattet sind.

2) Flexibel. Modular, tabellengesteuert und in einer Hochsprache programmiert oder mithilfe eines Compilers von Compilern implementiert.

3) Dialog.

4) Inkrementell. Überträgt Programmfragmente und Ergänzungen erneut, ohne das gesamte Programm neu zu kompilieren.

5) Interpretierend (Schritt für Schritt). Führt nacheinander eine unabhängige Kompilierung jeder einzelnen Anweisung (Befehl) des Quellprogramms durch.

6) Compiler von Compilern. Ein Übersetzer, der eine formale Beschreibung einer Programmiersprache akzeptiert und einen Compiler für diese Sprache generiert.

7) Debuggen. Beseitigt bestimmte Arten von Syntaxfehlern.

8) Einwohner. Liegt permanent im Hauptspeicher und steht für die Wiederverwendung durch viele Aufgaben zur Verfügung.

9) Selbstkompilierung. Verfasst in derselben Sprache, in der die Sendung erfolgt.

10) Universell. Basierend auf einer formalen Beschreibung der Syntax und Semantik der Eingabesprache. Die Komponenten eines solchen Compilers sind: der Kernel sowie syntaktische und semantische Lader.

Arten der Zusammenstellung:

1) Charge. Kompilieren mehrerer Quellmodule zu einem Jobelement.

2) Zeile für Zeile.

3) Bedingt. Zusammenstellung, bei der der übersetzte Text von im Quellprogramm angegebenen Bedingungen abhängt. Abhängig vom Wert einer bestimmten Konstante können Sie also die Übersetzung eines Teils des Programmtextes ein- oder ausschalten.

Compiler-Struktur.

Der Kompilierungsprozess besteht aus den folgenden Schritten:

1) Lexikalische Analyse. In dieser Phase wird die Zeichenfolge in der Quelldatei in eine Token-Folge umgewandelt.

2) Syntaktische (grammatische) Analyse. Die Token-Sequenz wird in einen Parse-Baum umgewandelt.

3) Semantische Analyse. Der Analysebaum wird verarbeitet, um seine Semantik (Bedeutung) festzulegen – zum Beispiel das Binden von Bezeichnern an ihre Deklarationen, Typen, Kompatibilitätsprüfung, Bestimmen der Ausdruckstypen usw. Das Ergebnis wird normalerweise als „Zwischendarstellung/-code“ bezeichnet und kann um den Analysebaum, einen neuen Baum, einen abstrakten Befehlssatz oder etwas anderes, das für die weitere Verarbeitung geeignet ist, erweitert werden.

4) Optimierung. Entfernen unnötiger Strukturen und Vereinfachen des Codes unter Beibehaltung seiner Bedeutung. Die Optimierung kann auf verschiedenen Ebenen und in unterschiedlichen Phasen erfolgen – beispielsweise im Zwischencode oder im endgültigen Maschinencode.

5) Codegenerierung. Aus der Zwischendarstellung wird Code in der Zielsprache generiert.

In bestimmten Compiler-Implementierungen können diese Phasen in der einen oder anderen Form getrennt oder kombiniert werden.

Sendung und Komposition.

Ein wichtiges historisches Merkmal des Compilers, das sich in seinem Namen widerspiegelt ( Englisch kompilieren – zusammensetzen, komponieren), bestand darin, dass es auch Kompositionen durchführen konnte (das heißt, es enthielt zwei Teile – einen Übersetzer und einen Linker). Dies ist auf die Tatsache zurückzuführen, dass die getrennte Kompilierung und Verknüpfung als separate Assemblierungsphase viel später als mit dem Aufkommen der Compiler aufkam. In diesem Zusammenhang wird manchmal anstelle des Begriffs „Compiler“ der Begriff „Übersetzer“ als Synonym verwendet: entweder in der alten Literatur oder wenn man seine Fähigkeit hervorheben möchte, ein Programm in Maschinencode zu übersetzen (und umgekehrt). Der Begriff „Compiler“ wird verwendet, um die Fähigkeit hervorzuheben, aus vielen Dateien zu kompilieren.

Dolmetscher.

Dolmetscher (Programmiersprache) --

1) Ein Programm oder technisches Werkzeug, das die Interpretation durchführt.

2) Ein Übersetzertyp, der die Verarbeitung und Ausführung des Quellprogramms oder der Abfrage Anweisung für Anweisung (Befehl für Befehl) durchführt (im Gegensatz zu einem Compiler, der das gesamte Programm übersetzt, ohne es auszuführen).

3) Ein Programm (manchmal Hardware), das Befehle oder Programmanweisungen analysiert und sie sofort ausführt.

4) Ein Sprachprozessor, der das Quellprogramm Zeile für Zeile analysiert und gleichzeitig die vorgeschriebenen Aktionen ausführt, anstatt ein kompiliertes Programm in Maschinensprache zu generieren, das anschließend ausgeführt wird.

Arten von Dolmetschern.

Einfacher Dolmetscher analysiert das Programm Befehl für Befehl (oder Zeile für Zeile) und führt es sofort aus (die eigentliche Interpretation), sobald sein Quellcode am Eingang des Interpreters ankommt. Der Vorteil dieses Ansatzes ist die sofortige Reaktion. Der Nachteil besteht darin, dass ein solcher Interpreter Fehler im Programmtext nur dann erkennt, wenn versucht wird, einen Befehl (oder eine Zeile) mit einem Fehler auszuführen.

Ein Kompilierungstyp-Interpreter ist ein System bestehend aus einem Compiler, der den Quellcode eines Programms in eine Zwischendarstellung, beispielsweise in Bytecode oder P-Code, übersetzt, und dem Interpreter selbst, der den resultierenden Zwischencode (den sogenannten virtuelle Maschine). Der Vorteil solcher Systeme ist die höhere Geschwindigkeit der Programmausführung (aufgrund der Entfernung der Quellcode-Analyse in einen separaten, einmaligen Durchgang und der Minimierung dieser Analyse im Interpreter). Nachteile – höherer Ressourcenbedarf und Anforderung an die Korrektheit des Quellcodes. Es wird in Sprachen wie Java, PHP, Python, Perl (Bytecode wird verwendet), REXX (das Ergebnis der Quellcode-Analyse wird gespeichert) sowie in verschiedenen DBMS (P-Code wird verwendet) verwendet.

Zerlegt man den Compiler-Typ-Interpreter in Komponenten, erhält man einen Sprach-Compiler und einen einfachen Interpreter mit minimaler Quellcode-Analyse. Darüber hinaus muss der Quellcode für einen solchen Interpreter nicht im Textformat vorliegen oder ein Bytecode sein, den nur dieser Interpreter versteht; es kann sich um Maschinencode einer vorhandenen Hardwareplattform handeln. Beispielsweise umfassen virtuelle Maschinen wie QEMU, Bochs und VMware Maschinencode-Interpreter für Prozessoren der x86-Familie.

Einige Interpreter (zum Beispiel für Lisp, Scheme, Python, BASIC und andere) können im Dialogmodus oder der sogenannten Read-Eval-Print-Schleife (REPL) arbeiten. In diesem Modus liest der Interpreter ein vollständiges Sprachkonstrukt (z. B. einen S-Ausdruck in Lisp), führt es aus, gibt die Ergebnisse aus und wartet dann darauf, dass der Benutzer das nächste Konstrukt eingibt.

Einzigartig ist die Forth-Sprache, die sowohl im Interpretations- als auch im Kompilierungsmodus von Eingabedaten arbeiten kann, sodass Sie jederzeit zwischen diesen Modi wechseln können, sowohl während der Übersetzung des Quellcodes als auch während der Ausführung von Programmen.

Es ist auch zu beachten, dass Interpretationsmodi nicht nur in Software, sondern auch in Hardware zu finden sind. Daher interpretieren viele Mikroprozessoren Maschinencode mithilfe integrierter Firmware, und Prozessoren der x86-Familie, beginnend mit dem Pentium (z. B. auf der Intel P6-Architektur), übersetzen ihn während der Ausführung von Maschinencode vorab in ein internes Format (in eine Folge von Mikrooperationen).

Algorithmus für einen einfachen Interpreter:

2. Analysieren Sie die Anweisungen und legen Sie die geeigneten Maßnahmen fest.

3. geeignete Maßnahmen ergreifen;

4. Wenn die Programmabbruchbedingung nicht erreicht wird, lesen Sie die folgenden Anweisungen und fahren Sie mit Schritt 2 fort.

Vor- und Nachteile von Dolmetschern.

Vorteile:

1) Groß Portabilität interpretierter Programme – das Programm läuft auf jeder Plattform, die über einen geeigneten Interpreter verfügt.

2) In der Regel fortgeschrittenere und visuellere Mittel zur Diagnose von Fehlern in Quellcodes.

3) Vereinfachung des Debuggens von Programmquellcodes.

4) Kleinere Codegrößen im Vergleich zu Maschinencode, der von herkömmlichen Compilern erhalten wird.

Mängel:

1) Ein interpretiertes Programm kann ohne ein Interpreterprogramm nicht separat ausgeführt werden. Der Interpreter selbst kann sehr kompakt sein.

2) Das interpretierte Programm läuft langsamer, da die Zwischenanalyse des Quellcodes und die Planung seiner Ausführung mehr Zeit erfordern als die direkte Ausführung des Maschinencodes, in den der Quellcode kompiliert werden könnte.

3) Es findet praktisch keine Code-Optimierung statt, was zu zusätzlichen Einbußen in der Geschwindigkeit interpretierter Programme führt.

Linker.

Linker(auch Link-Editor, Linker) – ein Programm, das die Verknüpfung durchführt – nimmt ein oder mehrere Objektmodule als Eingabe und setzt daraus ein ausführbares Modul zusammen.

Um Module zu verknüpfen, verwendet der Linker Namenstabellen, die vom Compiler in jedem der Objektmodule erstellt wurden. Es gibt zwei Arten solcher Namen:

1) Definierte oder exportierte Namen – Funktionen und Variablen, die in einem bestimmten Modul definiert und für die Verwendung durch andere Module verfügbar gemacht werden.

2) Undefinierte oder importierte Namen sind Funktionen und Variablen, auf die das Modul verweist, diese aber nicht intern definiert.

Die Aufgabe des Linkers besteht darin, Verweise auf undefinierte Namen in jedem Modul aufzulösen. Für jeden importierten Namen findet sich seine Definition in anderen Modulen; die Erwähnung des Namens wird durch seine Adresse ersetzt.

Der Linker überprüft im Allgemeinen nicht die Art und Anzahl der Parameter von Prozeduren und Funktionen. Wenn Sie Objektmodule von Programmen kombinieren müssen, die in Sprachen mit starker Typisierung geschrieben sind, müssen die erforderlichen Überprüfungen von einem zusätzlichen Dienstprogramm durchgeführt werden, bevor der Link-Editor gestartet wird.

Monteur.

Monteur(vom englischen Assembler - Assembler) - ein Computerprogramm, ein Compiler des Quelltextes eines in Assemblersprache geschriebenen Programms in ein Programm in Maschinensprache.

Wie die (Assembler-)Sprache selbst sind Assembler typischerweise spezifisch für eine bestimmte Architektur, ein bestimmtes Betriebssystem und eine Variante der Sprachsyntax. Gleichzeitig gibt es plattformübergreifende oder sogar universelle (genauer gesagt begrenzt-universelle, da es unmöglich ist, hardwareunabhängige Programme in einer Low-Level-Sprache zu schreiben) Assembler, die auf verschiedenen Plattformen und Betriebssystemen ausgeführt werden können. Unter letzteren kann man auch eine Gruppe von Cross-Assemblern unterscheiden, die Maschinencode und ausführbare Module (Dateien) für andere Architekturen und Betriebssysteme sammeln können.

Die Montage ist möglicherweise nicht der erste oder der letzte Schritt auf dem Weg zum Erhalt eines ausführbaren Programmmoduls. So erzeugen viele Compiler aus höheren Programmiersprachen das Ergebnis in Form eines Assemblerprogramms, das vom Assembler weiterverarbeitet wird. Das Ergebnis der Assemblierung ist möglicherweise auch keine ausführbare Datei, sondern ein Objektmodul, das unterschiedliche und nicht zusammenhängende Teile von Maschinencode und Programmdaten enthält, aus denen (oder aus mehreren Objektmodulen) später mithilfe eines Linkerprogramms („Linker“) zusammengestellt werden kann. ausführbare Datei.

Ein Debugger oder Debugger ist ein Entwicklungsumgebungsmodul oder eine separate Anwendung, die dazu dient, Fehler in einem Programm zu finden. Mit dem Debugger können Sie eine schrittweise Ablaufverfolgung durchführen, Variablenwerte während der Programmausführung überwachen, festlegen oder ändern, Haltepunkte oder Stoppbedingungen festlegen und entfernen und so weiter.

Liste der Debugger.

1) AQtime ist ein kommerzieller Debugger für Anwendungen, die für die .NET Framework-Versionen 1.0, 1.1, 2.0, 3.0, 3.5 (einschließlich ASP.NET-Anwendungen) erstellt wurden, sowie für Windows 32- und 64-Bit-Anwendungen.

2) DTrace ist ein dynamisches Tracing-Framework für Solaris, OpenSolaris, FreeBSD, Mac OS X und QNX.

3) Electric Fence – Speicher-Debugger.

4) GNU Debugger (GDB) – ein Programm-Debugger aus dem GNU-Projekt.

5) IDA ist ein leistungsstarker Disassembler und Low-Level-Debugger für Windows- und Linux-Betriebssysteme.

6) Microsoft Visual Studio – eine Softwareentwicklungsumgebung, die Debugging-Tools von Microsoft enthält.

7) OllyDbg ist ein kostenloser Low-Level-Debugger für Windows-Betriebssysteme.

8) SoftICE ist ein Low-Level-Debugger für Betriebssysteme der Windows-Familie.

9) Sun Studio – eine Softwareentwicklungsumgebung, einschließlich des dbx-Debuggers für Solaris und Linux OS, von Sun Microsystems Corporation.

10) Dr. Watson ist ein Standard-Windows-Debugger, mit dem Sie Speicherabbilder erstellen können.

11) TotalView ist einer der kommerziellen Debugger für UNIX.

12) WinDbg ist ein kostenloser Debugger von Microsoft.

Dokumentationsgenerator – ein Programm oder Softwarepaket, das es Ihnen ermöglicht, Dokumentation für Programmierer (API-Dokumentation) und/oder für Endbenutzer des Systems, für speziell kommentierten Quellcode und in einigen Fällen für ausführbare Module (die bei der Ausgabe erhalten werden) zu erhalten des Compilers).

Typischerweise analysiert der Generator den Quellcode des Programms und hebt syntaktische Strukturen hervor, die wichtigen Programmobjekten entsprechen (Typen, Klassen und ihre Mitglieder/Eigenschaften/Methoden, Prozeduren/Funktionen usw.). Die Analyse nutzt auch Metainformationen über Programmobjekte, dargestellt in Form von dokumentierenden Kommentaren. Basierend auf allen gesammelten Informationen wird eine vorgefertigte Dokumentation erstellt, normalerweise in einem der allgemein akzeptierten Formate – HTML, HTMLHelp, PDF, RTF und andere.

Kommentare dokumentieren.

Ein dokumentierender Kommentar ist ein speziell gestalteter