To the tool software include software development tools. These are programming systems that include the software necessary to automatically build machine code. They are tools for professional programmers and allow you to develop programs in various programming languages.

The software development tools include the following programs:

  • assemblers - computer programs that convert a program in the form of source text in assembly language into machine commands in the form of object code;
  • translators – programs that perform program translation;
  • compilers are programs that translate program text into a language high level into an equivalent machine language program;
  • interpreters - programs that analyze commands or program statements and immediately execute them;
  • linkers (link editors) - programs that perform linking - take one or more object modules as input and assemble an executable module from them;
  • Source preprocessors are computer programs that take input and produce input for another program, such as a compiler.
  • debuggers – programs that are a module of the development environment or a separate application designed to find errors in a program;
  • specialized source code editors – programs necessary for creating and editing program source code. A specialized source editor can be a separate application or built into an integrated development environment, etc.

Languages ​​that represent algorithms as a sequence of readable (not binary-coded) instructions are called algorithmic languages. Algorithmic languages are divided into machine-oriented, procedure-oriented and problem-oriented.

Machine-oriented languages ​​are programming languages low level– programming on them is the most labor-intensive, but allows you to create optimal programs that take into account the functional and structural features of a particular computer as much as possible. Programs in these languages, other things being equal, will be shorter and faster. In addition, knowledge of the basics of programming in a machine-oriented language allows a specialist to understand the architecture of a computer in detail. Most commands in machine-oriented languages, when translated (translated) into a machine (binary) language, generate one machine command.

Procedural-oriented and problem-oriented languages ​​are high-level languages ​​that use macro instructions. When translated, a macro command generates many machine commands (for a procedure-oriented language this ratio is on average “1 to tens of machine commands”, and for a problem-oriented language it is “1 to hundreds of machine commands”. Procedurally oriented programming languages ​​are the most used (Basic, Visual Basic, Pascal , Borland Delphi, C, etc.) In this case, the programmer must describe the entire procedure for solving the problem, while problem-oriented languages ​​(they are also called non-procedural) allow only formal identification of the problem and specify the composition, presentation structures and formats of input and output information for the task.

When executing program instructions, a computer needs to convert human-readable statements written in a programming language into a computer-readable form. Instrumental software has special programs that translate the text of programs written in various programming languages ​​into machine codes, which are then executed by a computer. This type of software is called compiler or interpreter. The text of a program written in a high-level programming language before being converted into machine codes is called source code (source code). The compiler converts source into machine codes called object code (object code) – a program in the output language of the translator. Before execution, a process of linkage editing occurs, in which the output program modules are combined with other object code modules containing, for example, data. The resulting boot module is the commands directly executed by the computer. Some programming languages ​​do not contain a compiler, but an interpreter, which converts each individual expression of the source code into machine codes and immediately executes them. The interpreter is convenient at the stage of program debugging, as it provides quick feedback when an error is detected in the source code. The basics of programming in the high-level language Visual Basic are outlined in Chapter. 12 of this textbook.

To the tool software also include some database management systems (DBMS). A DBMS is a specialized set of programs designed for organizing and maintaining databases. Since database management systems are not a required component computing system, they are not classified as system software. And since individual DBMSs perform only a service function during the operation of other types of programs (web servers, application servers), they cannot always be classified as application software. For these reasons, they are often classified as software tools.

The main functions of such DBMS:

  • data management in external memory(on disks);
  • managing data in RAM using disk cache;
  • recording changes in special journals, backup and database recovery after failures;
  • support for database languages ​​(data definition language, data manipulation language).

The theoretical foundations of the DBMS are described above (section 3.2), and practical use described in chap. 10.

Tool software or programming systems are systems for automating the development of new programs in a programming language. In the most general case, to create a program in the selected programming language (system programming language), you need to have the following components: 1. A text editor to create a file with the source text of the program. 2. Compiler or interpreter. The source text is translated into intermediate object code using a compiler program. Original text big program consists of several modules(source files). Each module is compiled to separate file with object code, which then need to be combined into one. 3. A link editor or assembler that performs linking of object modules and generates a working application as an output - executable code. Executable code is a complete program that can be run on any computer that has the operating system for which the program was created. As a rule, the resulting file has the extension .EXE or .COM. 4. Recently, visual programming methods (using scripting languages) aimed at creating Windows applications have become widespread. This process is automated in rapid design environments. In this case, ready-made visual components are used, which are configured using special editors. The most popular editors (program programming systems using visual tools) for visual design:

 Borland Delphi - designed to solve almost any application programming problem

 Borland C++ Builder is an excellent tool for DOS development and Windows applications

 Microsoft Visual Basic is a popular tool for creating Windows programs

 Microsoft Visual C++ - this tool allows you to develop any applications running in an OS environment such as Microsoft Windows

1.3.2. File systems

All modern operating systems provide the creation of a file system, which is designed to store data on disks and provide access to them. The main functions of the file system can be divided into two groups:

 Functions for working with files (creating, deleting, renaming files, etc.)

 Functions for working with data stored in files (writing, reading, searching data, etc.)

It is known that files are used to organize and store data on computer media. A file is a sequence of an arbitrary number of bytes that has a unique name of its own or a named area on machine media. The structuring of many files on computer media is carried out using directories in which the attributes (parameters and details) of the files are stored. A directory can contain many subdirectories, resulting in branched file structures on disks. Organizing files in a tree structure is called file system. The principle of organizing the file system is tabular. Data about where on the disk the file is written is stored in the File Allocation Table (FAT). This table is located at the beginning of the volume. To protect the volume, two copies of FAT are stored on the volume. If the first FAT copy is damaged, disk utilities can use the second copy to repair the volume. FAT is similar in design to the table of contents of a book, as the operating system uses it to locate a file and determine the clusters that the file occupies on the hard drive. The smallest physical unit of data storage is a sector. The sector size is 512 bytes. Since the size of the FAT table is limited, for disks larger than 32 MB it is not possible to provide addressing to each individual sector. In this regard, groups of sectors are conditionally combined into clusters. A cluster is the smallest unit of data addressing. The cluster size, unlike the sector size, is not fixed and depends on the disk capacity.

At first, a 12-bit version of FAT (called FAT12) was used for floppies and small hard drives (less than 16 MB). MS-DOS then introduced a 16-bit version of FAT for larger drives. The operating systems MS DOS, Win 95, Win NT implement 16-bit fields in file allocation tables. The FAT32 file system was introduced in Windows 95 OSR2 and is supported in Windows 98 and Windows 2000. FAT32 is an enhanced version of FAT designed for use on volumes larger than 2 GB. FAT32 provides support for disks up to 2 TB in size and more efficient use of disk space. FAT32 uses smaller clusters, which allows for more efficient use of disk space. Windows XP uses FAT32 and NTFS. A more promising direction in the development of file systems was the transition to NTFS (New Technology File System– a new technology file system) with long file names and a reliable security system. The size of an NTFS partition is not limited. NTFS minimizes the amount of disk space wasted by writing small files to large clusters. In addition, NTFS allows you to save disk space by compressing the disk itself, individual folders and files.

According to the methods of naming files, a distinction is made between “short” and “long” names. According to the convention adopted in MS-DOS, the way of naming files on IBM PC computers was the 8.3 convention, i.e. The file name consists of two parts: the actual name and the name extension. The file name is allocated 8 characters, and its extension – 3 characters. The name is separated from the extension by a dot. Both the name and the extension can only include alphanumeric characters of the Latin alphabet. File names written according to convention 8.3 are considered “short”. With the advent of the Windows 95 operating system, the concept of a “long” name was introduced. This name can contain up to 256 characters. This is quite enough to create meaningful file names. A “long” name can contain any characters except nine special characters: \ / : * ? “< >|. Spaces and multiple periods are allowed in the name. The file name ends with a three-character extension. The extension is used to classify files by type. The uniqueness of the file name is ensured by the fact that the full name of the file is considered to be the file's own name along with the path to access it. File path starts with the device name and includes all directory (folder) names it goes through. The “\” character (backslash - backslash) is used as a separator. For example: D:\Documents and Settings\ТВА\My documents\lessons-tva\ robots.txt Despite the fact that data on the location of files is stored in a table structure, they are presented to the user in the form of a hierarchical structure - this is more convenient for people, and all the necessary transformations are taken care of by the operating system. The file structure maintenance function includes the following operations that occur under the control of the operating system:

 creating files and assigning names to them;

 creating directories (folders) and assigning names to them;

 renaming files and directories (folders);

 copying and moving files between computer drives and between directories (folders) of one drive;

 deleting files and directories (folders);

 navigation through the file structure to access given file, directory (folder);

 file attributes management.

An instrumental system is a software system (it’s better to talk about a software environment, where we include the user, since it is the user, his knowledge, abilities, skills that make this system less or more effective) for the accelerated and low-resource development of some other programs (or processing data), both system or application, and new instrumental.

Example. Let's consider the instrumental environment - graphics editor, which allows you to visualize graphic objects in two main ways: vector or raster. The vector approach dynamically gradually forms an object on the screen (which is considered as some coordinate space) according to its representation, composed of graphic primitives. The raster approach forms the entire object on the screen based on its layout (template, graphic primitives in video memory), consisting of individual clusters of pixels in some pixel two-dimensional matrix (analogous to a drawing sheet with a Cartesian coordinate system). This matrix records information about the brightness and color of the image cluster (sometimes 1-2 bytes or more per pixel), and the matrix itself can have a dimension of 1024x1024 pixels or more. The image generated in the pixel matrix is ​​stored in the video memory of the display and displayed on the screen in frame regeneration mode. An image in color (drawing in color) is the manipulation of the pixels of this matrix. Graphic 3D image editors allow you not only to design 3D objects, but also to move them along a specified path, that is, to perform animation. One of the powerful graphics environments is the 3D-Studio Max package from Autodesk. In addition to this package, graphic packages are widely used:

GRAFLotus Freelance – for working with business and computer graphics;

Splash and Fanta – for work in the field of design and computer films;

AutoCAD – for automation of design and construction work;

CorelDraw, PaintBrush, AdobeIllustrator - for a variety of applications.

Translators are discussed in detail below.

Let's consider interface systems to provide a friendly interface between users and programs).

Example. The earliest interface system is Norton Commander (Norton Commander, author - Peter Norton). Systems like Norton Commander (NC) are called operating shells and can be classified as tool environments (tools for a more convenient, comfortable interface with the OS, with the file system, bypassing the tedious OS command language). Such a system allows you to visually and conveniently copy, create, delete, rename, move, view and search files, etc. NC uses control and function keys that correspond to specific system operations and responses:

Esc – cancel the function being performed;

Enter – function execution;

Tab – change the current (active) panel to another (previously passive);

PgUp (PgDn) – move one page forward (backward);

Home (End) – set to the beginning (end) of the directory;

, , , – keys for moving the cursor left, up, right, down;

Ctrl-S (simultaneous pressing of the Ctrl and S keys) - one character to the left;

Ctr-D (Ctr-A,Сtrl-F) – one character to the right (one word to the left, one word to the right);

F1 – help key, hints on the active state (help key);

F2 – write the active file to disk;

F3 – view the contents of the active file;

F4 – editing the active file;

F5 – copying the active file to the active directory on another panel;

F6 – rename (move) the active file;

F7 – create a new directory (subdirectory);

F8 – delete active file;

F9 – activation of panel commands (system menu) NC;

F10 – exit from NC.

A more developed domestic analogue of NC for Windows systems is, for example, the FAR manager shell.

Problem-oriented instrumental systems are used to solve a fairly wide class of problems of some professional, problem orientation: CAD - design automation systems, ACS - automated control systems, automated workplaces - automated workstations, DBMS - a system that provides an interface for user programs and data from the database, ES – expert systems, systems for accumulating, storing and updating experience, knowledge, abilities, skills (expert judgments) of experts, etc.

Autonomous programs are those programs that are developed in huge numbers every day and used for various application purposes (training, computing, modeling, etc.).

Program libraries are a set of programs for solving problems of a certain focus (for example, solving systems of algebraic equations), with a description, catalog, instructions and posted on external media in such a way as to be able to easily connect to the problem being solved (to the program being executed) as it is being solved.

Plastic bag application programs(PPP) consists of the following mandatory parts:

description, representation of the class of problems solved using PPP;

a set of programs that ensure the construction of PPP (process chain) application programs;

a set of application programs that provide solutions to problems from subject area PPP;

input language (query language) PPP;

database for storing data, transferring it to PPP modules;

monitor (control program) PPP, which provides input of a task (request), its decoding and construction of a technological chain of PPP modules to search for an answer.

Example. A simple and versatile student package for statistical data analysis is SPSS. The user interface with SPSS for Windows is implemented using simple menus and dialog boxes, that is, SPSS is free from the use of a specially studied command language of the package. There is a Data Editor for visual control of entered data, functionally similar to spreadsheet editors, for example, Excel. Variable variables are displayed in columns, and sets of their variations are displayed in rows, and each of the variables can be found by calling its name. Data entry is similar to tabular data entry (for example, in Excel). IN dialog boxes You can define (enter or evaluate) complex expressions used later in calculations. It is possible to apply various laws of random distribution. More powerful (but also more difficult to learn and use) is the MathCAD mathematical package.

The functional system of an integrated software package does not consist of modules (as in the PPP), but from the PPP.

Example. The most common integrated application package is MS Office (office automation package). Its core includes the following packages: Word - text editor, Excel - spreadsheet, Access - DBMS, PowerPoint - presentation system, etc.

Special (or unique) software is developed to solve very important, unique problems.

Example. This class of software includes the Buran ship control software system.

Even with hundreds of thousands of PC programs, users may need something that existing programs don't do (or do, but not right). In these cases, tool software is used to create new programs, allowing the development of both system and application software. Consequently, it plays the role of means of production in programming.

Programming systems– these are complexes of programs and other tools intended for the development and operation of programs in a specific programming language for a specific PC architecture (platform).

The programming system usually includes text editor programs, translator programs, libraries subroutines and link editors, debuggers, help systems, and sometimes various auxiliary programs.

Programming language is an artificial language with the help of which an algorithm for solving a problem is written in a form understandable by a PC.

There are many programming languages, and each one can have dozens of versions. Each programmer writes programs in the language that is convenient for him, and there is no programming language that is considered generally accepted.

But all programming languages ​​have one thing in common. They are understandable to programmers, but incomprehensible to the processor, since the processor can only work with binary numbers and therefore understands programs written only in machine code. Therefore, programs written in any programming language are first “translated” into the processor language, i.e. converted into machine code. This translation is performed by special translator programs. In English, “translation” is called translation), therefore programs that translate programs into machine code language are called broadcasters.

At the stage broadcasts transformation takes place source code programs in object code, which is further processed communications editor. Link Editor – special program, ensuring the construction loading module, suitable for implementation (Fig. 6.2).

Rice. 6.2. Scheme of the process of creating a boot program module

There are the following types of translators: interpreter, compiler.

Interpreter takes the next language operator from the program text, analyzes its structure and immediately executes it. Then he moves on to the next operator. Compiler translates the entire program into machine instructions.

The most popular universal programming languages ​​today are: Basic, Pascal, C++, Java.

For each of these programming languages, today there are many programming systems produced by various companies and aimed at various PC models and operating systems. The most popular visual environments for rapid program design for Windows are: Microsoft Visual Basic; Borland Delphi; Borland C++Builder; Microsoft Visual Studio(Visual Basic.net, C++, C#, J#).

Modern systems programming allows you to create programs that are called when viewing Web pages on the global electronic network Internet.

A special class of programming systems are systems for creating client-server applications. These systems allow you to quickly create information systems for departments and even large enterprises. They contain tools for creating a user interface, describing data processing procedures, templates for performing typical data processing actions, etc. These systems, as a rule, allow you to work with a wide variety of DBMSs - Oracle, Sybase, Microsoft SQL Server etc. Among the most popular systems of this kind are PowerBuilder from Sybase, Delphi from Borland, Visual Basic from Microsoft. Of course, tools for creating client-server applications are also available as part of a client-server DBMS (Oracle, Sybase, etc.), but they are focused only on this DBMS.

Tool software intended for use in the design, development and maintenance of computer programs. The following types of programs can be classified as instrumental software:

Compilers

Translators

Assemblers

Interpreters

Linkers

Debuggers

Automated program testing tools

Documentation generators

SDK

Version control systems

Programming systems and integrated program development environments

Programming Automation Systems (CASE)

Compiler is a software tool for translating programs written in any programming language into programs presented in binary machine codes. Compilers are divided into three types - translators, assemblers and interpreters.

Translator is a compiler that fully translates programs in any programming language into machine codes or so-called object code. The resulting machine code program can later be converted into an executable module and loaded into RAM and launched for execution by the processor. A type of translator is considered assembler – a program that translates program text written in a machine-oriented language (“mnemonic code” or “assembly language”) into binary code. The concept of assembly language is often associated directly with a machine-oriented language. Therefore, this term is sometimes used to mean a machine-level programming language.

Interpreter is a compiler that translates line by line (or one command at a time) original program in a programming language into binary codes and immediately transmits this binary code to the processor for execution.

Linker- a program that produces layout executable or boot code - takes one or more object modules as input and assembles one executable module from them, which can be loaded into memory and launched for execution by the processor.

Debugger– as a rule, it is part of a software development environment or a separate application designed to find errors in a program. The debugger allows you to trace a program step by step, monitor, set or change the values ​​of variables as the program runs, set and remove breakpoints or stopping conditions, and so on.

Automated program testing tools– software modules that allow you to create automated tests with minimal human intervention and automatically issue test sequences as input, and monitor the reaction of the program under test. As a rule, such tools test programs for speed and reliability under large data flows - this is the so-called “ Stress Testing" For example, checking programs under heavy network traffic, etc. But there are means to check functionality, such as tools designed to verify that an application meets business requirements.

Documentation generator– a program or software package that allows you to obtain documentation intended for programmers (API documentation) and/or for end users of the system, for specially commented source code and, in some cases, for executable modules (obtained at the output of the compiler). Typically, the generator analyzes the source code of the program, highlighting syntactic structures that correspond significant objects programs (types, classes and their members/properties/methods, procedures/functions, etc.). The analysis also uses metainformation about program objects, presented in the form documenting comments. Based on all the collected information, ready-made documentation is generated, usually in one of the generally accepted formats - HTML, HTMLHelp, PDF, RTF and others.

Development kit (SDK, Software Development Kit) or "devkit" is a set of programs and libraries of routines that allows software specialists to create applications for a specific software package basic funds development, hardware platform, computer system, video game consoles, operating systems and other platforms. The programmer, as a rule, receives the SDK directly from the developer of the target technology or system. Often the SDK is distributed over the Internet. Many SDKs are distributed free of charge to encourage developers to use a given technology or platform.

Version control system (Version Control System, VCS or Revision Control System) - software to facilitate working with changing information. A version control system allows you to store multiple versions of the same document, revert to earlier versions if necessary, determine who made a particular change and when, and much more. Such systems are most widely used in software development to store the source codes of the program being developed. However, they can be successfully used in other areas where work is carried out with a large number of continuously changing electronic documents.

Integrated Development Environment (IDE) (Integrated development environment, IDE) is a software system used for software development. Typically the development environment includes text editor, a compiler and/or interpreter, build automation tools, and a debugger. Sometimes also contains tools for integration with version control systems and a variety of tools to simplify design GUI user. Many modern development environments also include class browser, facilities inspector And class hierarchy diagram- for use in object-oriented software development. Although there are development environments designed for several languages ​​- such as Eclipse, NetBeans, Embarcadero RAD Studio or Microsoft Visual Studio, usually the development environment is intended for one specific programming language - such as Visual Basic, Delphi, Dev-C++. Special case ISR - environments visual development, which include the ability to visually edit the program interface. Sometimes ISR is called "programming system" , although in most cases the WBS covers an expanded range of functions and capabilities.

Programming automation systems(Computer-Aided System Engineering, CASE ) is a software package that automates the entire technological process of analysis, design, development, coding, debugging and maintenance of complex software systems. The main advantage of CASE technology is its support for teamwork on a project due to the ability to work in local and global network developers, export (import) of any project fragments, organized program management. As a rule, CASE systems support automatic code generation of programs - the creation of a framework by a system program and the creation of a complete product with system documentation.

Application software

This category includes programs, software packages and software systems with the help of which specific user tasks are solved for production, creative, entertainment, educational or any other purposes. Application software is divided into the following types:

Problem-oriented programs

Computer-aided design systems (CAD)

Software for automated control systems

Programs general purpose

Office systems

Intelligent systems

Software systems multimedia

Desktop Publishing

Problem-oriented programs designed to solve applied problems related to human production activities, for example:

Accounting programs;

Financial activity programs;

Human resource management programs;

Enterprise management programs;

Banking information and automated systems;

Automated workplaces in the enterprise;

Computer-aided design systems (CAD System - Computer Aided Design System ) are intended to support the work of designers, technologists, electricians and electronic engineers, architects and other specialists related to the development of drawings, diagrams, models, graphic modeling, and design. Systems of this class are very demanding hardware Computer, speed, memory. It is essential to have libraries of built-in functions, objects, interfaces with graphic systems and databases.

In CAD, it is customary to distinguish seven types of support:

Technical(TO), including various hardware (computers, peripherals, network switching equipment, communication lines, measuring instruments);

Mathematical(MO), which combines mathematical methods, models and algorithms to perform design;

Software(software) presented computer programs CAD;

Informational(IO), consisting of databases (DBs), database management systems (DBMS), as well as other data used in design. The entire set of data used in design is called the CAD information fund, and the database together with the DBMS is called a data bank (DB);

Linguistic(LO), expressed by the languages ​​of communication between designers and computers, programming languages ​​and languages ​​of data exchange between technical means CAD;

Methodical(MetO), which includes various design techniques, sometimes also includes mathematical software;

Organizational(OO), represented by staffing tables, job descriptions and other documents regulating the work of the project enterprise.

By area of ​​application, the following CAD groups can be distinguished:

CAD for use in general engineering industries. They are often called mechanical engineering CAD or MCAD (Mechanical CAD) systems;

CAD for radio electronics. Their names are ECAD (Electronic CAD) or EDA (Electronic Design Automation) systems.

CAD in the field of architecture and construction.

In addition, a large number of more specialized CAD systems are known, either classified in these groups, or representing an independent branch in the classification. Examples of such systems are CAD systems for large integrated circuits(BIS); Aircraft CAD; CAD of electrical machines, etc.

By intended purpose distinguish between CAD or CAD subsystems that provide different aspects of design. Thus, CAE/CAD/CAM systems appear as part of MCAD:

CAD functional design, otherwise CAD-F or CAE (Computer Aided Engineering) systems.

Design CAD systems for general mechanical engineering - CAD-K, often simply called CAD systems;

Technological CAD systems for general mechanical engineering - CAD-T, otherwise called automated systems for technological preparation of production ASPP or CAM systems (Computer Aided Manufacturing).

Automated control system (ACS)- a set of hardware and software designed to control various processes within the framework of a technological process, production, or enterprise. ACS are used in various industries, energy, transport, etc. The term automated, in contrast to the term automatic, emphasizes the retention by the human operator of certain functions related to setting a goal, making a decision, or performing certain functions that cannot be automated.

The most well-known classes of automated control systems are:

Automated control system technological process(APCS) - solves the problems of operational management and control of technical facilities in industry, energy, and transport;

Automated system for technical (technological) preparation of production (ASTPP) - a system associated with the organization of technical processes that exist or are just appearing in production, based on the programming of machines with numerical program controlled, manufacturing and assembly of software-controlled robots, etc.

Automated production management system (APS) - solves the problems of organizing production, including basic production processes, incoming and outgoing logistics. Carries out short-term release planning taking into account production capacity, product quality analysis, production process modeling. To solve these problems, MIS and MES systems, as well as LIMS systems, are used.

Automated enterprise management system (EMS) - MRP, MRP II and ERP systems are used to solve these problems. For example, if the enterprise is a higher education institution, there is an automated control system for a university.

As example The most famous automated control systems can be identified:

Automated traffic control system or ASUD - designed to control vehicles and pedestrian flows on the road network of a city or highway;

Automated street lighting control system (“ASU UL”) - designed to organize the automation of centralized control of street lighting;

“Automated management system” for hotels;

Automated travel control system (ASCP) in public transport in Moscow, etc.

Recently, they have been widely used and implemented automated information processing and control systems (ASOPI) – this is a wide class of automated control systems associated with automation in the field of processing, storage and transmission of information. ASOIU, unlike automated control systems, can be used almost everywhere, in the form information systems, control systems, automation systems for almost any field of human activity. Modern ASOIU are based on the use computer networks, are focused on processing graphics, video and audio information, use multimedia technologies, system elements artificial intelligence. Without this kind of software, it is currently difficult to imagine a modern enterprise, regardless of size and area of ​​activity. This explains the rapid growth in the use of automated information systems in all sectors of the economy.

To the group general purpose programs can be attributed:

Database management systems (DBMS)

Database servers

Report generators

Word processors

Table processors

Presentation graphics tools

Integrated Packages

Method-oriented programs

Database management systems (DBMS)– provide organization and storage of local databases on autonomously operating computers or centralized storage of databases on a file server and network access to them. Modern DBMSs contain elements of the CASE technology of the design process, in particular:

Visualization of database schemas;

Automatic support of database integrity for various types of processing (inclusion, deletion, modification);

The presence of so-called masters who provide support for the design process;

Templates and prototypes of database structures, form reports, etc.

Database servers is software designed for creating and using integrated databases in a client-server architecture when working on a network.

Multi-user DBMS in the network version of information processing store data on a file server, a specially dedicated computer, but the processing itself is carried out on workstations.

Common to various types DB is using relational SQL language(Structured Query Language) for implementing data queries.

Report generators(report servers) provide the implementation of queries and the generation of reports in printed or screen form in a network with a client-server architecture. The report server connects to the database server using the database service drivers (Crystal Reports, Profit for windows).

Word processors designed to work with text documents. The development of this direction is the publishing systems Microsoft Word).

Table processors are a convenient computing environment that contains tools business graphics, specialized processing tools (Microsoft Excel).

Presentation graphics tools– these are specialized programs designed for creating images and displaying them on the screen, preparing slide films, cartoons and their design (Microsoft PowerPoint, Flash).

Integrated Packages is a set of several software products, functionally complementing each other, supporting common information Technology, implemented on a single operating computing platform (Microsoft Office).

The components of integrated packages can work in isolation from each other and have a common interface, making them easier to master.

Method-oriented PPP provide, regardless of the subject area and function of information systems, mathematical, statistical and other methods for solving problems. Most common methods mathematical programming, solving differential equations, simulation modeling, operations research (Storm, SYSTAT, SAS, etc.)

Office PPPs provide organizational management of office activities.

The category of office PPPs includes:

Organizers (schedulers) – software for planning work time, drawing up minutes of meetings, schedules, keeping records and a phone book (calculator, Notebook, clock, calendar, etc.)

Translation programs, spell checkers, text recognition (Tiger - Russian language recognition system, Stylus Lingvo Office containing Fine Reader, Stylus for Windows– translator into the specified language, spelling corrector Lingvo Corrector and resident dictionary Lingvo)

Communication packages designed to organize user interaction with remote subscribers or information resources networks (ICQ, etc.)

Browsers, tools for creating WWW pages

Facilities Email(Pegasys Mail)

Desktop Publishing is a wide class of software that implements the main components of publishing activities.

This class of software includes programs that provide:

Formatting and editing texts

Automatic text pagination

Computer layout printed page

Mounting graphics

Preparation of illustrations

Preparation of the original layout

Desktop publishing systems include:

PhotoShop for Windows

Multimedia software. The main significance of these software tools is the creation and use of audio and video information to expand information space user (various databases of computer works of art, video libraries, media libraries, libraries of sound recordings, etc.)

Artificial Intelligence Systems:

Shell programs for creating expert systems by filling knowledge bases and logical inference rules

Ready-made expert systems for decision making within specific subject areas

Systems for analysis and recognition of speech, text, etc.

Under intelligent systems(IS) can be understood as automatic and automated systems with elements of artificial intelligence (AI).

The main areas of AI are:

Knowledge representation and development of knowledge-based systems

Creativity and games (chess, checkers, go)

Development of natural language interfaces and machine translation of texts

Pattern recognition (each object is assigned a matrix of features that is used to recognize it)

New component architectures (neural computers)

Intelligent robots

Special software (Lisp, Prolog languages)

Training and self-learning (include models, methods and algorithms aimed at automatically accumulating knowledge based on data analysis and synthesis)

Knowledge– this is the identification of the laws of the subject area (principles, connections, laws) that allow solving problems in this area. Knowledge is data about data, or metadata.

Knowledge representation models:

Product models

Semantic models

Frame models

Formal logic models