Terms of reference for program development
«______________»
to Agreement No.___

1. Introduction
1.1. Program name
1.2. Purpose and scope
2. Program requirements
2.1. Functional requirements
2.2. Reliability requirements
2.2.1. Requirements for ensuring reliable operation of the program
2.2.2. Recovery time after failure
2.2.3. Failures due to incorrect actions of system users
3. Operating conditions
3.1. Climatic operating conditions
3.2. Requirements for qualifications and number of personnel
3.3. Requirements for the composition and parameters of technical means
3.4. Requirements for information and software compatibility
3.4.1. Requirements for information structures and solution methods
3.4.2. Requirements for source codes and programming languages
3.4.3. Requirements for software used by the program
3.4.4. Requirements for the protection of information and programs
3.5. Special Requirements
4. Requirements for program documentation
4.1. Preliminary composition of program documentation
5. Technical and economic indicators
5.1. Economic benefits of development
6. Stages and stages of development
6.1. Development stages
6.2. Development stages
6.3. Contents of work by stages
7. Procedure for control and acceptance
7.1. Types of tests
7.2. General requirements for acceptance of work

1. Introduction

1.1. Program name

Program name: “ASU “______________””

1.2. Purpose and scope

The program is designed to automate the processing of data from cafe/bar clients. It operates with the following data:

  • possible personal data about the client;
  • customer service data;
  • information on the discount system;

2.1. Functional requirements

The program must provide the ability to perform the following functions:

  • the ability to display client data upon request;
  • the ability to calculate discounts;
  • adding/removing clients;
  • changing client data;
  • possibility of changing the discount system;

2.2.1 Requirements for ensuring reliable operation of the program

Reliable (sustainable) operation of the program must be ensured by the customer’s implementation of a set of organizational and technical measures, the list of which is given below:

  • organizing uninterrupted power supply for technical equipment;
  • using a licensed software;
  • regular implementation of the recommendations of the Ministry of Labor and Social Development of the Russian Federation, set out in the Resolution of July 23, 1998 On the approval of inter-industry standard time standards for work on service PC and office equipment and support software»;
  • regular compliance with the requirements of GOST 51188-98. Information protection. Testing software for availability computer viruses
  • From the developer's side:
  • automatic creation of backup copies;
  • system automatic update programs;
  • automatic system recovery;

Recovery time after a failure caused by a power failure of technical equipment (other external factors), not a fatal failure (not crash) of the operating system, should not exceed 30 minutes, subject to the operating conditions of the hardware and software.

The recovery time after a failure caused by a malfunction of hardware or a fatal failure (crash) of the operating system should not exceed the time required to eliminate hardware malfunctions and reinstall software.

Program failures due to incorrect user actions when interacting with the program.

3.1. Requirements for qualifications and number of personnel

The minimum number of personnel required to operate the program must be at least 1 full-time unit - a PC operator. The list of tasks performed by the PC operator should include:

  • maintaining a database of clients;
  • tasks of installation (installation) and maintaining the functionality of system software - the operating system;
  • program installation task;
  • the task of creating database backups.

3.2. Requirements for the composition and parameters of technical means
^

  • processor with clock frequency 2.0Hz, no less;
  • RAM capacity, 1Gigabyte, no less;
  • free disk space of at least 1GB;
  • network card;

3.3.1. Requirements for information structures and solution methods

The software is a self-contained executable application. The database format is ADO compatible.

Users work with the database through the system interface.

3.3.3. Requirements for source codes and programming languages

There are no additional requirements.

System software used by the program must be a licensed localized version of the Windows XP operating system.

There are no requirements for the protection of information and programs.

3.5. Special Requirements

There are no special requirements.
^

4.1. Preliminary composition of program documentation

The composition of the program documentation should include:

  • terms of reference;
  • test program and methods;
  • operator's manual;

5.1. Economic benefits of development

The program is a free product, no financial resources are spent, and the advantage is the acceleration of automation of data processing of cafe/bar clients

6.1. Development stages

Development should be carried out in three stages:

  1. Development of technical specifications;
  2. Detailed design;
  3. Implementation.

At the stage of development of the technical specifications, the stage of development, coordination and approval of this technical specification must be completed. At the detailed design stage, the following stages of work must be completed:

  • program development;
  • development of program documentation;
  • testing the program.

At the implementation stage, the development stage of preparation and transfer of the program must be completed.

At the stage of developing the technical specifications, the following work must be performed:

  • Statement of the problem;
  • Determination and clarification of requirements for technical means;
  • Determination of program requirements;
  • Determining the stages, phases and timing of the development of the program and documentation for it;
  • Coordination and approval of technical specifications. At the program development stage, work must be done on programming (coding) and debugging the program. At the stage of developing program documentation, the development of program documents must be carried out in accordance with the requirements for the composition of the documentation.

During the testing phase of the program, the following types of work must be performed:

  • Development, coordination and approval of test methods;
  • Conducting acceptance tests;
  • Correction of the program and program documentation based on test results.

At the stage of preparation and transfer of the program, work must be completed to prepare and transfer the program and program documentation for operation at the Customer’s facilities.

7.1. Types of tests:

  • testing the installation process;
  • ergonomics testing ;
  • testing the system's ability to restore normal operation;
  • testing the system on various configurations;
  • system testing;

7.2. Requirements for acceptance of work

Upon acceptance, the following conditions must be verified:

  • completeness and quality of implementation of functions at standard limiting critical values ​​of parameters of the automation object and in other conditions of functioning of data in the technical specifications;
  • fulfillment of every requirement related to the system interface;
  • Work of personnel in interactive mode;
  • Means and methods for restoring the performance of the software after failures;
  • Comprehensiveness and quality of operational documentation.
Technical specifications for the development of a design project for the premises. Information Terms of reference for the development of design documentation for the construction of a zoo Regulations
Within the boundaries of the land plot, st. Podlesnaya, Kosmonavtov highway, st. Malkova, Dzerzhinsky district of Perm
Terms of reference for the development of a website document structure
An information system that provides Internet users with access to its content and functionality in an organized…
Terms of reference for the development of the website “Association of Russian Airbrushing Artists”
The main html container into which information blocks are inserted must be fully editable. Preferably...
Terms of reference for the creation of an automated system "Corporate Data Warehouse"
GOST 34. 602-89 Technical specifications for the creation of an automated system (example)
2. Terms of reference for the development of software
This course project describes the process of issuing a pension insurance certificate. The developed system is designed to simplify…
Terms of reference for the development of a magazine website This technical specification represents…
The site is modeled taking into account restrictions modern systems content management (open WordPress, Joomla, LiveStreet and the like...
Program for demonstrating graph traversal algorithms
This technical specification regulates the development of an educational software product intended for visual presentation…
The terms of reference include: name of the development, basis...
Technical and detailed design: description of the subject area (object model), object management (events, interaction diagram),…
Software design
The design phase involves architecture development, data development and procedural software development

    Technical requirements for the system

    Technical appearance of the product

    The theory of solving inventive problems is a Soviet method of strong thinking that has become widespread both in Russia and around the world. It allows you to deeply analyze the problem and find an effective solution.
    Work on TRIZ was started by Genrikh Saulovich Alshuller and his associates in 1946.

    Program development: example of technical specifications

    In 1956, the first publication was published about the fact that technology develops according to certain laws. To effectively invent, you need to identify these laws and effectively apply them.
    Over time, TRIZ has developed into a large set of tools that help solve a number of pressing problems:
    - create new breakthrough products,
    — improve the consumer properties of existing solutions,
    - reduce costs,
    - circumvent competitors' patents.
    Leading global companies such as Samsung, Intel, Procter&Gambel, General Electric and others use TRIZ in their R&D centers.

Terms

To avoid controversial issues and misunderstandings, it is important to use the same conceptual apparatus. To do this, we have compiled a list of the most commonly used terms and abbreviations.

When it comes to developing technical documentation for software, most often we think about a document such as a Technical Specification (TOR). Why is this happening?

Purpose of technical specifications

Firstly, the technical specification is, as a rule, the main document within the project documentation. It is in the technical specifications that all the basic requirements for software development are described, be it the creation of either a simple program or website, or the development of a large-scale information system or software and hardware complex. Moreover, in the language of GOSTs, a technical specification can be developed both within the framework of a preliminary design (this is only a description of the functions and structure of the system without considering the technologies for implementing the solution), and in the future “migrate” to a technical project (a more detailed description taking into account the selected technologies) .

Secondly, the technical specification can be either superficial (for example, a general conceptual specification intended for project investors) or more detailed (for example, a detailed specification for a programmer). Look at the Projects section, there are examples of various technical specifications. You can choose any level of detail - we will prepare for you technical specifications of any complexity at affordable prices.

Thirdly, in some cases it is possible to get by with only preparing one technical specification to describe the system being developed. Of course, in this case, the quality of the developed technical specifications plays a key role, so it is clearly not worth saving here and it is better to entrust the development of such technical specifications to professionals who have extensive experience in this matter. The miser pays twice, but in the event of software development failure due to poor-quality documentation, he pays tenfold, and sometimes even several orders of magnitude higher.

Composition of a standard technical specification

Let's look at what a typical technical specification includes.

Did the software specification turn out to be superficial?

So, the technical specification, regardless of the selected GOST, always includes the following basic information on the software being developed:

1) Name– full and short names, symbol of the software being developed;
2) appointment– why, in what area and for what purpose the software is developed;
3) basis for development– documents on the basis of which software development is carried out;
4) functions– list and description of the functions of the software being developed;
5) structure– description of the architecture and components of the software being developed;
6) user interface– in the modern world it is mandatory;
7) reliability, safety, operating conditions and so on. important requirements;
8) documentation– what documentation, in what volume and in accordance with what GOST requirements will also be developed;
9) stages and stages of development– what is being developed and in what sequence;
10) control procedure and acceptance– how exactly the developed software will be delivered to the Customer.

Standards for technical specifications

There are several GOSTs that regulate the development of technical specifications in our area: these are GOST 34.602 (automated systems) and GOST 19.201 (software). Documents prepared according to these standards differ significantly in both content and content. Both standards are presented on our corporate portal in the Library section; you can familiarize yourself with them in more detail.

The cost of developing technical specifications

In general, drawing up technical specifications is a rather complex and responsible task, but a well-written technical specification is already half the success of the project being developed. Therefore, in the process of developing technical specifications for software, you must show maximum care and awareness in technical and organizational issues. Or you can order the development of turnkey technical specifications from us right now.

You might also be interested in:

– development of a test program and methodology;
– creation of an explanatory note for the preliminary and technical design;
– stages of documentation development.

Writing technical specifications is one of the first stages of working on a project. It precedes the development of the system itself. In the technical specifications, we describe the subject area, the Customer’s existing infrastructure, requirements for the functionality being created, as well as non-functional requirements. The resulting document is necessary both for the business user to make sure that all his wishes for the future system are taken into account, and for us to estimate the cost of developing the system.

It is worth noting that in everyday analytical work we try to avoid the term “Technical specifications”. This term is too overloaded with meanings and it is often unclear what is behind it. We use the terms “Business requirements document” (BRD – Business requirements document), “Functional requirements” (FRD – Functional requirements document) and Technical and architectural requirements (TAD – Technical Architecture document). However, here, in order not to complicate the description, we will use the term “Technical Specifications”. The document that we in most cases use to interact with customers consists of 70% business requirements, 20% functional requirements and only 10% technical and architectural requirements. Of course, this proportion varies depending on the specifics and technical complexity of the system.

The main success factor in developing technical specifications is properly structured communication with the customer. After all, the task of analysts is to actually perform a brain-dump operation and arrange the results on paper in a structured form. At the same time, it is very important (1) to speak with the customer in the same language, so that he does not have to chew over the concepts of the subject area that are obvious to a specialist and (2) to be able to listen correctly.

Below we present the principles that guide us when writing technical specifications and illustrate them with excerpts from the technical specifications we have developed for a multicomponent system banner advertising for a large Internet company.

Structure of technical specifications

Each technical specification contains several mandatory sections. They define the purpose of the document, terminology, and general context of the project. Typically the first part of the document looks like this:

Class="fs-13">

If at the beginning of the document general, conceptual information about the system being developed is given, then in the second, main part of the document, business requirements and functional requirements for the system that are essential for estimating the cost of development are spelled out in detail.

In the “Terminology” section of the technical specification for the banner system, we define such concepts as Impressions, Clicks, CTR, Reach, Contact Frequency, Booking File, etc., and in the “General Context” section we describe the main business processes of the customer company, related to the placement of banner advertising, as well as the system environment, the current roles of company managers and access rights. It is worth noting that in this particular case the system was not built from scratch. Previously, the company's managers used a banner advertising system that was different from ours. Otherwise, the analysis of roles and access rights would most likely be included in a separate chapter.

class="fs-13">

7. Banner placement system
8.

Interaction with billing
9. Banner Engine
10. Technical description Banner Engine component

class="fs-13">

The most voluminous section of the technical specifications we describe is “Banner placement system”; it is dedicated to the core of the system being developed and contains all the requirements directly for the advertising space management system.

Taking into account the specifics of this project, we devoted a separate section to the interaction of the banner with the billing system. We have also included in a separate section the requirements for a fairly independent component of collecting and displaying statistical information, which is perhaps the main component of the system for customers of advertising campaigns and managers of advertising agencies.

A separate section of the technical specifications describes the requirements for the Banner Engine component, which is responsible for displaying banners, recording statistics, processing and storing them in a form suitable for further analysis and reporting.

This is technically the most complex and most heavily loaded component of the banner system. In the technical specifications we included a section containing some technical and architectural details related to the operation of the Banner Engine. First of all, this allows you to minimize risks when estimating the cost of system development, because depending on the chosen architecture, labor intensity can differ significantly.

Each technical task differs in size, number of illustrations, and number of versions. For example, the banner document is presented on 44 pages and contains 15 illustrations. The process of preparing this document took about a month and included about 8 iterations with the customer.

class="fs-13">

Business vs Functional Requirements

The terms of reference record both business requirements for the system and functional requirements:

— Business requirements are a description of WHAT the system must do in the language of a business user. Business requirements, in particular, must be understandable to a manager who does not have technical training and experience.

— Functional requirements are a description of HOW certain actions are carried out in the system. At the stage of development of technical specifications, functional requirements are usually fixed only for the most complex blocks of the project.

Delving into complex areas allows you to reduce risks during subsequent project evaluation. Typically functional requirements include block diagrams, state diagrams, flow diagrams, and are complemented by more complex screen layouts.

Example business requirement:

“For an advertising campaign, it is important to track the impression limit as accurately as possible in order to avoid financial losses associated with displaying banners in excess of the paid limit. In addition, the task arises of limiting the display of one banner to one user, for example, no more than N times a day.”

"To solve this problem [which – see above] it is supposed to use an external service, which the banner servers will contact every time the banner is displayed. Since this service is a point of failure, banner servers must correctly handle the situation when an external service is unavailable or responds with delays.”

We usually include

The terms of reference contain a description of the roles and main user scenarios in the system being developed.

Correct technical specifications for software development are the secret of a successful project

Role: Administrator

Example of a functional requirement:

“After adding a new site in the system, the administrator must create advertising spaces associated with it. When creating an advertising space, you must specify the platform, type of space, supported banner format, size, frequency of impressions (for static places). After creating an advertising space, it becomes available to managers who place advertising.

The technical specification contains requirements for the integration of the developed system with other external and internal systems used by the customer.

In the context of the technical specifications for the banner system, this is integration with the company’s website management systems, billing, authentication and user data storage.

“The banner advertising system is connected to three external modules that operate in the company’s environment: the company’s website management system, the billing system, and the system for authenticating and storing user data.” Each banner display is accompanied by a request from content management systems to the banner system. These systems also use common site and ad space identifiers, as well as consistent targeting parameter names.”

In the terms of reference, we usually include a glossary that explains the meaning of special terms used in the document. It is very important to accurately define the meaning of terms that are later used in the document.

« Placement (placement unit, media plan line) – This is an entity that combines the banner that needs to be displayed, the advertising space on which the banner will be shown, and the display rules. Display rules determine the placement period, targeting parameters, placement limits, weights, etc. In fact, all advertising campaigns consist of placements.”

Contact frequency– the number of unique users who viewed the advertising banner a certain number of times. For example, contact frequency 5– the number of unique users, each of whom viewed this advertising banner at least 5 times. Contact frequency 1= Coverage.

Basic principles

When writing technical specifications, we try to use graphic materials as much as possible for a visual and concise presentation of information. One diagram can often replace several pages of text. In this context, we see our goal as the so-called. drawing technical specifications, i.e. presentation of all more or less complex fragments of the system in graphical form and the use of text as comments on graphic materials.

Business managers usually do not have time to study multi-page technical requirements. Viewing images gives a clear idea of ​​the main characteristics of the system being developed. As a result, communication between the business user and us improves and the quality of the requirements themselves increases.

The following diagram, illustrating the structure of advertising campaigns and the relationship between the main concepts within advertising campaigns, saved us several pages of text.

If necessary, we use prototypes of selected system screens (functional wireframes) in the technical specifications, which, although not final, demonstrate the basic block of user interface functionality.

This prototype of the advertising campaign editing screen was included in the technical specifications for the banner advertising system.

Prototypes, already at the development stage, give the customer an idea of ​​exactly what the system interface will look like.

Requirements must be written in “living human” language, understandable to the business user, incl. a senior manager without technical skills; they should contain a minimum of technical terminology. How faster user“gets to grips” with the content of the technical task, the more effective our communication with him will be.

Subject matter experience

Experience in developing similar systems is of great importance when creating technical specifications. It helps us quickly understand the business processes and needs of the customer, and do “by analogy” many things that previously would have seemed difficult to us. The accumulated experience in the field of management business systems, large Internet projects, financial systems, e-commerce systems allows us to apply our knowledge in relation to each subsequent project that we deal with. Before receiving the order for the banner advertising system mentioned above, we were already developing several banner systems. We knew well how banners work and knew the characteristic terminology of this subject area. Based on our experience with other banner systems, we offered the customer quite a lot of simplifications and original solutions, not only in the field of technology, but also in business.

Search Lectures

Technical specifications for the facility

When designing a technical facility, an important place is occupied by the development of technical and technological documentation: technical specifications (TOR) and technical conditions (TS).

Terms of reference— this is the main source document for product development, containing technical and economic requirements for the product that determine its consumer properties and effectiveness of use, a list of documents requiring joint consideration, the procedure for delivery and acceptance of development results. The design specifications are developed on the basis of GOST 15.001-88 and drawn up in accordance with the general requirements for text design documents in accordance with GOST 2.105-68.

Any document (contract, protocol, sketch, product sample, etc.) containing necessary and sufficient requirements for development and recognized by the customer and developer can also be used as a technical specification.

The approved technical specification is a document that developers must follow at all stages of system creation and task design. Changes made to the technical specifications must be documented in a protocol that is part of the technical specifications. The protocol must be approved by the customer.

When developing technical specifications you should:

· establish a common goal for creation technical system;

· install general requirements to the designed system;

· determine the stages of creating the system and the timing of their implementation;

· carry out a preliminary calculation of the costs of creating the system.

The terms of reference must contain the following sections:

1) name and scope of application;

2) product code;

3) reasons for development;

4) purpose and feasibility study;

5) sources for development;

6) stages of development and production launch;

7) technical requirements.

Depending on the purpose of the measuring instruments being developed, the conditions of their manufacture and operation, it is possible to change the structure of the technical specifications, combining individual sections and introducing new ones.

In the section Basis for development indicate the name of the document (documents) that provides for this development, the organization that approved this document and the date of its approval, the name and code of the topic of development.

The basis for development is marketing research and the release of a new standard.

In the section “Purpose and feasibility study of development” indicate:

1. The specific functional purpose of the object is to reduce the toxicity of the car.

Terms of reference for program development

Availability of domestic and foreign analogues and the possibility or feasibility of their use for this purpose - there are foreign analogues on the market, but their cost and domestic analogues are the same.

3. Estimated need for these objects among consumers - this object necessary for the consumer to comply with the standard and preserve human health and the environment.

In the “Sources of Development” section, a list of research and other works, the results of which are used in this development, is provided, as well as a list of samples or mock-ups on the basis of which the development is carried out.

In the “Development Stages” section, the required stages of work and the approximate deadlines for their completion, the composition and approximate deadlines for submitting design technological documentation for metrological examination and the organization that conducts it are indicated.

Based on the stages of the product life cycle, we develop the stages of development and launch into production.

Main stages of development: marketing research; development of technical specifications; — object design; trial; preparation of production; launch into production.

At the first stage of design, the selection (or development) of a schematic diagram of the object is made. For this purpose, on the basis of reference data, recommendations and standards, a number of object variants are formed - analogues, which to one degree or another meet the requirements of the technical specifications. Further modifications are made if necessary. circuit diagrams objects - analogues. If variants of objects - analogues are not found, proceed to the procedure for synthesizing variants of objects that have not yet been encountered in mechanical engineering practice. In this case, as already noted, standard elements and components are used as much as possible.

The next stage of design is the design of the main elements and construction mathematical models functioning of the device. The last stage of design is the final design formalization of the decisions made, the execution of drawings and the text part in accordance with the requirements of the ESKD.

After successful tests, for the project customer, based on the requirements of the technical specifications and standards relating to this type of product, taking into account the test results, a technical specification for the device is developed, which includes:

1.Technical requirements

2. Safety requirements

3. Environmental requirements

4. Acceptance rules

5. Control methods

6. Transportation and storage

7. Operating instructions

8. Manufacturer's warranty

9. Disposal

Based on the developed documents, you can begin the actual design of the facility.

There is a necessary part in computer software, without which you simply cannot do anything on it. It's called system software. The buyer purchases a computer equipped with system software, which is no less important for the operation of the computer than the memory or processor. In addition to the system software, the computer software also includes application programs And programming systems.

Computer software is divided into:

System software;

Service software,
- application software;
- programming systems.

TO systemic These primarily include operating systems and programs that are part of the operating system (for example, drivers for various computer devices (from English word"drive" - ​​to manage), i.e. programs that control the operation of devices: drivers for a scanner, printer, etc.). Except operating systems also include maintenance software (they are also called service software or utilities, from the English word “utilize” - to use) for disk maintenance, archivers, antivirus programs etc.

Service software- is a collection software products, providing the user additional services in working with a computer and expanding the capabilities of operating systems. Based on functionality, service tools can be divided into:

  • improving the user interface;
  • protecting data from destruction and unauthorized access;
  • recovery data;
  • accelerating data exchange between disk and RAM:
  • archiving and unarchiving tools;
  • antiviral agents.

Programs with which the user can solve his problems information tasks, without resorting to programming, are called application programs.

As a rule, all users prefer to have a set of application programs that almost everyone needs. They are called general purpose programs. These include:

Text and graphic editors, with which you can prepare various texts, create drawings, and draw drawings; in other words, write, draw, draw;

Database management systems (DBMS), which allow you to turn your computer into a reference book on any topic;

Table processors that allow you to organize spreadsheet calculations that are very common in practice;

Communication (network) programs designed to exchange information with other computers connected to the data in a computer network.

In addition, there is a large number special-purpose application programs for professional activities. They are often called application software packages. This is, for example, accounting programs, making accruals wages and other calculations that are made in accounting departments; computer-aided design systems that help designers develop projects for various technical devices; packages that allow you to solve complex mathematical problems without writing programs; training programs on various school subjects and much more.

A set of tools, including an input programming language, a translator, a machine language, and libraries standard programs, a means of debugging translated programs and assembling them into a single whole, is called programming system. In a programming system, a translator translates a program written in the input programming language into the machine instruction language of a specific computer.

26. Computer operating system (purpose, composition, loading).

All the variety of programs used on modern computer called software.

The operating system is a basic and necessary component of computer software; without it, a computer cannot operate in principle.

Operating system - This program, which ensures the joint functioning of all computer devices and provides the user with access to its resources.

Today the most famous operating systems for IBM-compatible personal computers are the Microsoft Windows and Linux operating system families.

MAIN FUNCTIONS OF THE OPERATING SYSTEM:

Carrying out a dialogue with the user;

I/O and data management;

Planning and organizing the program processing process;

Resource distribution ( RAM and cache, processor, external devices);

Run programs to execute;

All possible auxiliary maintenance operations;

Transfer of information between various internal devices;

Software support for peripheral devices (display, keyboard, disk drives, printer, etc.).

Modern operating systems have a complex structure, each element of which performs specific functions to control the computer.

File system management. The process of computer operation, in a certain sense, comes down to exchanging files between devices. The operating system has software modules that manage the file system.

Command processor - a special program that requests commands from the user and executes them.

Device Drivers - special programs that provide control of the operation of devices and coordination of information exchange with other devices, and also allow you to configure some device parameters.

The graphical interface is a shell that allowscarry out human-computer interaction in the form of a dialogue using windows, menus and controls (dialog panels, buttons, etc.). In operating systems with a graphical interface, the user can enter commands using the mouse, whereas in command line you must enter commands using the keyboard.

Service programs. The operating system also includes service programs, or utilities. Such programs allow you to maintain disks (check, compress, defragment, etc.), perform operations with files (archive, etc.), work in computer networks and so on.

Help system. For user convenience, the operating system usually also includes help system. The help system allows you to quickly obtain the necessary information both about the functioning of the operating system as a whole and about the operation of its individual modules.

Operating system files are stored in the computer's external long-term memory (on a hard, floppy or laser disk). However, programs can only run if they are in RAM, so operating system files must be loaded into RAM. The disk (hard, floppy or laser) on which the operating system files are located and from which it is loaded is called systemic.

Computer self-test. The computer includes a non-volatile read-only memory (ROM) containing programs for testing the computer and the first stage of loading the OS - this is BIOS(BasicInput/OutputSystem - basic input/output system).

After turning on the power, the processor begins executing the POST (Power-ONSelfTest) computer self-test program. The performance of the processor, memory and other hardware of the computer processor, video adapter, RAM, disk drives, controllers is tested hard drives and keyboards. If faults are detected, diagnostic messages are issued in the form of various sequences of short and long sound signals or in the form text messages. After successful initialization of the video card, short diagnostic messages are displayed on the monitor screen.

After self-testing, a special program in the BIOS begins searching for the OS bootloader. There is an alternate access to the available disks and a search in the first boot sector of the disk for a special MasterBoot program (OS loader program).

If the disk is the system one and the bootloader program is in place, then it is loaded into RAM and control of the computer’s operation is transferred to it. The program searches for operating system files on the system disk and loads them into RAM as software modules. If there are no system disks in the computer, the message “Nonsystemdisk” appears on the monitor screen, the operating system stops loading and the computer remains inoperative.

27. Files. File name. File system. Basic operations with files.

All programs and data are stored in the long-term (external) memory of the computer in the form of files.

File- this is a certain amount of information (program or data) that has a name and is stored in long-term (external) memory.

File name. The file name consists of two parts, separated by a dot: the actual file name and the extension that determines its type.

<имя файла>.<расширение>

The actual name of the file is given by the user, and the extension is set automatically by the program when it is created.

Table 1. File types and extensions

Different operating systems have different filename formats. In the MS-DOS operating system, the file name itself must contain no more than 8 letters of the Latin alphabet, numbers and some special characters, and the extension consists of three Latin letters, for example: proba.txt

In the operating room Windows system The file name can be up to 255 characters long, and you can use the Russian alphabet, for example: Information units.doc

Rules for creating a file name:

You cannot use the following characters, which are reserved for special functions: ? : * / \ “ >< |

There are special reserved words whose names cannot be used to name a folder. Windows OS does not allow this. The fact is that before Windows there was DOS. It used system folders with the following names: PRN, AUX, CLOCK$, NUL, COM0, COM1, COM2, COM3, COM4, ​​COM5, COM6, COM7, COM8, COM9, LPT0, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8 , LPT9, CON

File system- This functional part operating system that performs operations on files. The file system allows you to work with files and directories (directories) regardless of their contents, size, type, etc.

The file system defines the general structure for naming, storing, and organizing files in the operating system.

File system functions:

  1. Saving information on external media
  2. Reading information from files
  3. Deleting files, directories
  4. Renaming files
  5. Copying files, etc.

For disks with a small number of files (up to several dozen) can be used single-level file system , when the directory (disk table of contents) is a linear sequence of file names. Such a catalog can be compared to the table of contents of a children's book, which contains only the titles of individual stories.

If hundreds and thousands of files are stored on the disk, then for ease of searching, use multi-level hierarchical file system, which has a tree structure. The initial, root directory contains subdirectories of the 1st level, in turn, each of the latter can contain subdirectories of the 2nd level, and so on. It should be noted that files can be stored in directories of all levels.

File path. To find a file in the hierarchical file structure, you must specify the path to the file. The path to the file includes the logical name of the disk, written through the "\" separator, and a sequence of names of nested directories, the last of which contains the desired file.

The path to the file along with the file name is sometimes called full file name.

Operations on files. While working on a computer, the following operations are most often performed on files:

  • copying (a copy of the file is placed in another directory);
  • moving (the file itself is moved to another directory);
  • deletion (the file entry is deleted from the directory);
  • renaming (file name changes).

The Windows graphical interface allows you to perform operations on files using the mouse using the Drag&Drop method (drag and drop). There are also specialized applications for working with files, the so-called file managers : NortonCommander, TotalCommander, Explorer, etc.

In some cases, it becomes necessary to work with the command line interface. Windows provides a mode for working with the MS-DOS command line interface.

28. Computer viruses: methods of distribution, prevention of infection.

Computer virus- a type of computer program or malicious code, the distinctive feature of which is the ability to reproduce (self-replication). In addition to this, viruses can perform other arbitrary actions without the user’s knowledge, including those that harm the user and/or computer.

Even if the author of the virus did not program malicious effects, the virus can lead to computer crashes due to errors and unaccounted for subtleties of interaction with the operating system and other programs. In addition, viruses usually take up some space on storage devices and take away some other system resources. Therefore, viruses are classified as malware.

Viruses spread by copying their body and ensuring its subsequent execution: introducing themselves into the executable code of other programs, replacing other programs, registering themselves in autorun, and more. A virus or its carrier can be not only programs containing machine code, but also any information containing automatically executed commands - for example, batch files and Microsoft Word and Excel documents containing macros. In addition, to penetrate a computer, a virus can use vulnerabilities in popular software (for example, AdobeFlash, Internet Explorer, Outlook), for which distributors embed it in ordinary data (pictures, texts, etc.).

Viruses spread through floppy disks (obsolete), flash drives, email, instant messaging systems, web pages, Internet and local networks(worms).

Main types of computer viruses:

Software (file): infect executable file computers with com and exe extensions. Macro viruses written using macro commands also belong to this class. They infect non-executable files (for example, in text editor MSWord or MSExcel spreadsheets).

Boot viruses are being implemented into boot sector disk (Boot - sector) or to the sector containing the system disk boot program (MasterBootRecord - MBR). Some viruses write their body to free sectors of the disk, marking them in the FAT table as “bad” (Badcluster).

Macro viruses affects documents created in some application programs (for example, Word). Infection occurs when opening a document file in a program window

Network viruses distributed over various computer networks.

Linux has long captured a huge portion of the market information technology, most servers run Linux, all supercomputers use Linux, most tablets and smartphones use Android, which, in fact, is also a Linux family system. Losst is a site about Linux and free software, and therefore only free software is used to ensure its operation.

In this short note we will look at what software solutions are used to maintain the operation of the site, why this or that program was chosen and why it is better than others. After all, this is all Linux in action. Let's start at the lowest level and work our way up.

What software is used on Losst

1. Virtualization system - XEN

Like most modern sites, Losst is located on a VPS service. XEN-PV is used as a virtualization system. I don’t recommend looking at OpenVZ at all, since there you only get a container and cannot fully control your operating system. KVM virtualization is already better, the virtualization module runs at the kernel level and you can control your OS, Qemu is used to virtualize hardware devices. But the downside here is that overselling is possible. In Xen, overselling is more difficult to implement, and the XEN-PV paravirtualization technology provides performance similar to real hardware.

2. Operating system - CentOS 7

The operating system is CentOS 7. I chose this OS because of the long support line and constant updates. If upgrading Ubuntu 16.04 to LTS on the server can cause certain problems, then CentOS within the seventh version (on at the moment the latest) is updated by the standard package manager without any problems. For example, it came out not long ago new version Red Hat 7.4 and a few months later CentOS transparently updated to this version and received new Nginx with ALPN support, PHP 7 and other improvements. And since the system is based on the corporate Red hat, it is very stable.

3. Control panel - VestaCP

Of course, you can set up a server without any control panels, but this requires a lot of time, which is not always available. So I use the control panel with open source code- VestaCP. Some time ago I used ISPManager and I can say that from my subjective feelings Vesta is much better. Beautiful interface, intuitive layout of functions, easy user management, the ability to customize configuration templates at your discretion, create a domain in a few clicks, configure Cron and web interface and view statistics. Great panel, if you haven't used it yet, I recommend it.

4. Web server - Nginx

High performance web server that can handle heavy loads thanks to its optimization for HighLoad. Before switching to HTTPS, I used Apache, but then the load on the server increased significantly and I had to look for a more productive solution. At the moment Nginx is doing a great job. Nginx itself can serve at least 10,000 pages per second, but the bottleneck here is PHP. To somehow solve this problem, a fastcgi cache for scripts is used.

5. Script interpreter - PHP 7

The majority of websites are now written in PHP, and this is normal, since PHP is the most popular programming language for the web. I use php-fpm in conjunction with Nginx, this is the optimal solution. I chose PHP 7 because in many tests its performance is slightly higher than previous versions. Also to speed up execution php code opcache cache is used.

6. Security - Let's Encrypt

The entire Internet is slowly but surely moving to the secure HTTPS protocol, and although there is nothing to intercept on this site, we also use this protocol because it provides advantages in search, more fast loading and ensuring that future browsers will not label the site as unsafe. A free certificate from Lets Encrypt covers all the requirements. Renewal works automatically using VestaCP.

7. Mail server - Postfix

The Postfix mail server is used to send mail from the site and receive mail messages for the domain. I did not select this server, it was automatically installed in VestaCP and does its job perfectly.

8. Mail interface - Roundcube

To be able to read letters that come to addresses from the @site domain, I use the roundcube mail web interface. The interface is quite simple and at the same time convenient. There are all the necessary features - highlighting messages, deleting, marking important messages, sorting by folders and much more.

9. DBMS - MariaDB

Not a single modern dynamic website works without a database management system. Losst uses the MariaDB DBMS - this DBMS was developed by the creator of MySQL after the latter became the property of Oracle. This database has all the features of MySQL, faster performance, and a huge community of developers. Updates for MariaDB come out faster than MySQL, and development is more active.

10. Backup - automysqlbackup

Backup on the server - this is one of the most important things. It may not be needed most of the time, but once it can save huge amount of your time and resources. I am using a script for automatic copying automysqlbackup databases. Backup is executed every day, in addition, the script allows you to rotate copies and delete unnecessary ones. All copies for the last week are saved, one copy from a week ago, one from a month ago and one from a year ago. This behavior can be configured on a per-database basis.

11. Monitoring system - zabbix

In the operation of the site, it is important that it is constantly accessible to users and search engines. Therefore, Zabbix is ​​used to monitor the server status. Zabbix allows you to monitor the entire state of services, server load and other parameters, as well as inform about problems via Email or Telegram. The sooner I find out about the problem, the sooner it will be resolved and the site will be up and running again.

12. Content Management System - WordPress

WordPress is one of the most popular content management systems in the world, it has a huge number of features and a huge number of plugins created by third party developers. Yes WordPress is not perfect. Without caching it is very slow and still has a lot of problems. But developing your own CMS is also not an option, since it takes a lot of time and you simply won’t have time to fill the site with content and think about other things. I know what I’m talking about, several years ago I already tried to create a CMS in PHP, the source code is still somewhere on GitHub, nothing came of that project. As a result, you either create a CMS or a website; you won’t be able to do everything together.

Conclusions

In this article we looked at what software is used to run Losst. At the time of writing, all the main programs used are open source. Of course, there are plugins for WordPress that have a closed license, but this is already a necessity. What software do you use on your servers? Write in the comments!

Software (software) is a set special programs, allowing you to organize information processing using a PC.

Since without software the operation of a PC is impossible inin principle, it is an integral partany PC and comes with its hardware(hardware).

Program– a complete and accurate description of the sequence of actions (instructions) of a computer for processing information, written in a language understandable to the computer.

Software – a set of special programs that facilitate the process of preparing tasks for execution on a computer and organizing their passage through the machine, as well as procedures, descriptions, instructions and rules, together with all documentation associated with these components, used in the operation of the computer system.

Process information and control computer operation programs, not devices.

New software innovations have long dominated new hardware developments. The cost of a software package exceeds (sometimes several times) the cost of a computer of an adequate class.

To use a computer effectively, there must be a correspondence between the level of development computer technology and software. On the one hand, the software determines functionality computer. On the other hand, the installation of specific software may be limited by the design features of the computer.

Purpose of the software:

  • ensuring computer functionality;
  • facilitating user interaction with the computer;
  • shortening the cycle from setting a task to obtaining a result;
  • increasing the efficiency of using computer resources.

The software allows you to:

  • improve the organization of the computer system in order to maximize the use of its capabilities;
  • increase user productivity and quality of work;
  • adapt user programs to the resources of a specific computer system;
  • expand the computer system software.

Maximum use of the capabilities of the computing system is achieved by Firstly, by allocating to each user or task the minimum necessary resources for a timely and high-quality solution to his problems, secondly, due to connection to the resources of the computer system large number users (including remote ones), thirdly, by redistributing resources among different users and tasks depending on system state and processing requests.

Increased productivity and quality of work of users occurs due to the automation of calculation and design procedures, implemented using a variety of programming tools (algorithmic language, application software packages) and convenient input-output devices.

The adaptability of user programs to the resources of a specific computer system is ensured by the fact that the operating system contains a means of servicing a wide range of machine configurations. In addition, the operating system allows you to create and easily customize existing programs on various devices I/O

Extension of existing software requires the following capabilities:

  • creation by the user of his own programs and packages that implement both specific calculation tasks and control processes for individual devices and the entire computing system as a whole;
  • supplementing existing software with programs that allow you to expand the capabilities of the operating system, work with new types of external devices, new computing systems (computers), in new areas of application.

The software is focused on the use of computing systems in various fields of activity and must provide a timely and adequate solution to the assigned tasks. This makes it necessary to comply with a number of requirements for developing software components , the main ones being:

  • modularity;
  • scalability and development;
  • reliability;
  • predictability;
  • convenience and ergonomics;
  • flexibility;
  • efficiency;
  • compatibility.

Basic principles of modern software development:

  • parametric versatility;
  • functional redundancy;
  • functional selectivity.

Programs can be installed on a computer in two ways:

  • Installation from the distribution kit
  • Simple copying

First (lowest) level hierarchy is occupied by the internal software of the PC, stored in its permanent memory. With its help, the PC performs basic functions determined by the hardware structure. Internal software programs work directly with computer hardware modules. As a result, they are functionally connected with them, and when replacing a certain hardware module, it is necessary to replace the internal software program designed to work with it.

Programs that service hardware modules are called driver programs or drivers. They allow you, when replacing or connecting a new hardware module, not to make changes in other PC programs, but only to change the driver of the corresponding hardware module.

The internal software is software interface, ensuring the interconnection of the computer with all other programs. Access to internal software programs is made only through the software interrupt system.

The internal software performs the following main functions:

  • manages a wide range of peripheral devices;
  • carries out quick check operability of the PC when it is turned on;
  • installs individual hardware modules to their original state;
  • loads OS programs.

The main elements of internal software are I/O drivers, self-test program and boot program. The internal software interacts, on the one hand, with the functional modules of the PC, and on the other hand, implements the software interface of the operating system.

Self-test program designed to test PC functional modules, i.e. setting the computer circuits to their initial state by loading program registers with the necessary information. When checking individual functional modules of the PC, faults may be detected in them. The self-test program notifies the user of detected faults using on-screen messages and/or an audible signal.

If an error is detected, you can continue checking your computer using diagnostic programs loaded from a floppy disk. If the error does not disrupt the functionality of the PC, then it can be ignored at the user’s discretion. If a new functional module is included in the PC, then general program self-test, a self-test program for this module is added.

Upon successful completion of the self-test, the PC is ready for operation. Control is transferred to the boot program via a software interrupt. This program is designed to read other components of the operating system into RAM. If this operation is successful, control is transferred to the program just read.

I/O Drivers are used to service PC peripheral devices. These programs work directly with the corresponding controllers, which allows the user to not know the physical organization specific device and work only with driver commands that implement its maintenance.

The drivers have the following features:

  • open structure, which allows you to add new drivers to the system;
  • flexibility in organizing access to drivers through software interrupts, which allows you not to fix them in strictly defined areas of memory, and quickly and easily replace them;
  • a customizable structure that targets driver programs to a specific class of peripheral devices, the parameters of which are located in special tables. Drivers are configured for specific peripheral devices by changing the values ​​in these tables;
  • resident placement in RAM, allowing the driver to be used at any time from any program.

The main driver programs include: driver hard drive, video adapter driver, keyboard driver, printing device driver, system drivers (setting a timer, checking the computer configuration, determining RAM capacity), additional drivers (communication driver, etc.).

Operating system occupies second (middle) level software hierarchy. She manages resources computer system, which include operational and external memory, input/output devices and user programs. The OS interacts with the computer through the internal software interface. This makes it possible for PCs that have different hardware to work with the same operating system.

The OS is a set of PC control programs.

The composition of the software is determined by the range of tasks that the user expects to solve using a computer.

By purpose, i.e. Depending on the class of problems being solved, software is usually divided into two main groups: General (basic) and applied.

Classification of software by functionality

Scheme general classification BY

– a set of programs that ensure the functionality of the computer; a set of programs that organize the computing process and manage computer resources.

– a set of software tools that allow you to develop programs.

– a set of programs designed to solve problems from various spheres of human activity.

What is software? Examples of it practical use We meet every day when we sit down at the computer. Even simply moving the mouse across the screen is the result of the software. What types of software are there? How is software development done?

Software: theory

A computer operates through the combined use of hardware and software. The first refers to a set of chips, boards and other electronic components and devices that make up a PC. Under the second - computer programs, which are designed to process information and perform useful actions using a PC. The first is often called “hardware” in slang, the second is “software”.

The software appears on the computer through installation - placing the corresponding files on the disk. In some cases it is necessary to update the software. This is, in essence, a re-installation of a more advanced and modern version of the software. To have a so-called “distribution” you need to have it. It is a specialized installer program.

There are two main types of software - system and application. The first type ensures the operation of the PC in terms of its basic functions: starting, loading and performing low-level computing operations. The main types of system software are considered to be tools for managing computer hardware components and setting them up.

These are programs with the help of which practically significant actions are performed on a PC. For example, typing, building tables, drawing, using the Internet, etc.

To simplify the language, it can be summarized as follows: system software is for the computer, application software is for the user. Another way to explain the difference in simple language: The work is usually not visible. They perform their functions without “coordination” with the user, in hidden mode. In turn, the application software works only with the direct participation of the user. We will look at examples of both today.

There are, of course, “non-computer” types of software. They can control other types of devices - for example, tablets, smartphones, TVs. There is software for climate control systems, industrial facilities, etc.

What is an operating system?

OS is a basic type of system software from the point of view of operating PC capabilities. Why is it included in this category of software? The fact is that all other computer software (both system and application) operates in environments formed by operating systems. OS is the basis for PC operation. If there is no operating system, then no other program will work. The main processes of the OS are hidden from the user.

The most common operating systems for PCs in the world are Windows (the most popular, there are many versions of it - 7th, 8th, XP and others), Linux, MacOS.

System software: drivers

The second, perhaps most important type of system software is the driver. They are designed to ensure the correct operation of hardware components. If the drivers for the disk are not installed on the computer, it will not function. Likewise for a video card, mouse, modem and even processor. Typical network software is a router or modem driver. This type of software is usually supplied by hardware manufacturers (and in many cases included in operating systems).

This is the essence of system software. Next up we have application software, examples of the most popular solutions and the main features that are offered to users.

Application software: antiviruses, utilities

Common types of application software are antiviruses and utilities. The first ones are designed to protect the PC from malware, which can damage other software or even computer hardware components. Some of the most popular antiviruses in Russia are NOD32, DrWeb, Kaspersky. Utilities are designed to ensure stable operation of the PC, monitor how correctly the processor, disks, memory and other hardware components of the computer are working.

Popular Microsoft Word

Which specific examples of application software are in greatest demand today? First of all, this applies to word processing programs. This kind of operation on a computer is historically the very first. One of the most popular programs in the world for word processing and performing related operations (drawing tables, graphs, etc.) is Word. It was developed by one of the world's largest corporations - the American Microsoft. Its Russian transcription is acceptable, which sounds like “Word program”.

To date, several versions of this software have been released. The functions in each of them are different, but the basic (and most popular in practice) task performed by MS Word in one modification or another is formatting text, saving it to a file and ensuring (if necessary) its correct output to the printer.

Microsoft Word: Features

The Word program can perform a huge number of operations. Namely:

Formatting letters and paragraphs (selecting the right font size and basic attributes - underlining, bold, italics, line spacing, etc.)

Registration appearance pages (setting the color and pattern on the background, adding graphics, pictures, etc.)

Adding elements accompanying text (tables, graphs, icons, etc.)

Learning to use Word is very easy. Many of the program's controls are intuitive. It is also worth noting that Microsoft company, which released Word, provided its solution with detailed help system, which the user can access by pressing F1 on the keyboard.

Popular applications: Microsoft Excel

Example of other popular application software - Microsoft Excel(in Russian - "Excel program"). Her narrow specialization is calculations using spreadsheets. This kind of solution greatly simplifies working with numbers.

Despite the fact that this program is considered professional, even novice users can master the basic methods of working with it (which is why it has gained worldwide fame).

Microsoft Excel: features

The simplest operations in Excel are displaying text and numbers in the form of tables. The working field of the program, in fact, looks like a large number of cells, in each of which you can enter something. A more complex procedure is drawing graphs and introducing formulas. Operations that require vocational training- programming of so-called “macros” (a kind of internal programs), engineering calculations.

Let us list the most common types of problems in practice that the Excel program can solve:

Mathematical calculations using numerical values ​​in table cells (summing, subtracting, dividing, multiplying, building progressions, etc.);

Application of formulas to automate invoices;

Drawing up reports, forms, questionnaires and other documents that look most comfortable in the form of tables;

Drawing graphs, visualizing statistics using diagrams.

Just like Word, Excel is very easy to learn on your own. The program's controls are largely intuitive. This type of software is also equipped with a detailed help system (which can be useful not only for a novice user, but also for a professional).

Popular Application Programs: Adobe Photoshop

Often users need to use one interesting program - Photoshop. For Windows 7, 8 or XP it exists in a large number of versions. Officially this program is called Adobe Photoshop. It is designed for drawing (this kind of solution is called " graphic editors"). As in the case of Word and Excel, it is used by both novice users and professionals: designers, web developers, cartoon creators.

Photoshop refers to programs that process images in the so-called "raster" mode. What does it mean? We can say that the main part of computer graphics belongs to the “raster” category. We are talking about images consisting of large quantity small dots (remember how a picture is built on a TV and monitor - the principle is the same). Using "raster" you can create absolutely any graphic elements. You can draw a portrait of a person, a house, a landscape - anything. In addition to “raster” graphics, there is also “vector” graphics. Images based on it can, in turn, be built only according to the templates embedded in the program.

Adobe Photoshop: features

Using Photoshop, you can not only create pictures, but also make changes to existing ones. Hence the term "photoshopped". You can, for example, modify objects in a photo, add something to them, retouch them - with a lot of experience working with Photoshop, everything can turn out very believable.

Adobe Photoshop works with most formats graphic files thanks to the availability of a large set of converters for different formats. The latter transform graphic information from file format to native format Adobe editor Photoshop when reading from a file. When writing to a file, converters perform the reverse conversion.

What are the most popular types of operations that are performed in Photoshop? These include the following:

Creating new drawings using virtual brushes, pencils, rulers, shapes using different colors;

Changing the size of pictures or their individual elements;

Combining the contents of two different images;

Changing the color of the picture or its parts;

Application of visual effects using templates and algorithms built into the program;

Transformation of pictures (reflection, rotation, etc.).

Just like Word and Excel, Photoshop's controls are easy to learn and intuitive. So even an inexperienced user can draw something. Many of the versions of the program are equipped with a help system in Russian, which describes in detail how to work with Photoshop.

Popular types of application software: browsers

A browser is a program with which users access the Internet, read news from websites, write messages on social networks, watch videos - in a word, do everything that is typical for the “virtual space”. The most popular solutions of this type in the world are Internet Explorer,Opera, Google Chrome. There are a very large number of their analogues and subtypes. The functionality of each of them is generally the same. Most users prefer to use one or the other, based on a subjective assessment of the quality of the program design and the convenience of the location of the controls on them.

The way browsers work is based on recognizing hypertext markup language (called HTML) and converting it into user-friendly formats. visual elements- text, pictures, tables, videos, animations, message forms, etc.

Browsers: features

Samples of such software are designed very simply. The main elements of the browser are a line with the site address and the main field (most often called the “web interface”), where information from the Internet is displayed. Main feature such a program - it is an intermediary between the PC user and other people in the virtual space. That is, using a browser (more precisely, a “web interface”) a person, in fact, can exchange data, sending something from himself (text, files) and receiving something from others. Was there an Internet before browsers were invented? Undoubtedly. The fact is that the “web interface” is historically not the very first method of communication between users. It appeared after many years of international agreement on the standards by which “virtual” information should be exchanged.

Software: paid and free

One of the criteria for software classification is cost. There are three categories of solutions. Firstly, it is completely free. Secondly, there is a commercial one. If the user wants to use such software, he must pay for its installation. Thirdly, there is an intermediate type of software - shareware. What makes it special? In general, the use of such software is as follows: you do not need to pay for installation, but after using the program for some time (for example, a month), you will need to transfer cash to the developer for further use.

What is "cloud technology"?

In recent years, the term “cloud technologies” has gained great popularity. What is this phenomenon? " Cloud technologies" - in simple terms, this is application software that can be launched from a browser (accordingly, it is not installed on a PC). Let's look at an example. Microsoft Word, which we talked about above, is launched by double-clicking the icon on the desktop. But there is the same solution, but “cloud”: the use of software of this type is carried out through the web browser interface. As a rule, the files that the user works with using such software are also stored on the Internet.

A lot of programs now exist in a “cloud” format. There are even versions of operating systems of this type. So we can say that the “cloud” format is not only application software, but also system software. The popularity of such solutions today is associated with the fast speed of the Internet (this did not exist a few years ago), as well as saving the user’s time - there is no need to install anything on the PC. By the way, cloud-based software updates occur regardless of the user. It's also convenient.

Who develops the software?

There is an entire branch of the economy within which software development is carried out - programming. It employs people with a wide variety of knowledge profiles. But they are united by a common feature - knowledge of programming languages. Using one or more of them, a person writes software. A programming language is a set of commands recognized by the hardware components of a computer. By writing a “phrase” structured in a certain way, the person creating the software gives an “instruction” to the processor, or, say, the PC disk to perform such and such an operation on the file. There are hundreds of languages ​​used to develop software. Popular ones include C, Java, Pascal, Ruby-on-Rails.

Is it difficult to learn how to create software?

Not at all. Absolutely anyone can become a software developer. Creating software is not a prohibited activity at all. Many successful entrepreneurs started out by developing software. Examples of such people are Bill Gates, Linux Torvalds, Evgeniy Kaspersky. You can learn languages ​​for creating software based on a large amount of available literature, video tutorials, or by attending specialized courses. Software development is one of the fastest growing industries, and its rise in popularity is mainly due to its universal accessibility.