Life cycle of software systems.

The concept of life cycle is one of the basic concepts of information systems design methodology. Life cycle information system is a continuous process starting! from the moment the decision is made to create an information system and ends at the moment it is completely taken out of service.

The ISO/IEC 12207 standard defines a life cycle structure containing the processes, activities and tasks that must be performed during the creation of an information system. According to this standard, the life cycle structure is based on three groups of processes:

1. main life cycle processes (purchase, supply, development, operation, support);

2. auxiliary processes that ensure the implementation of the main processes (documentation, configuration management, quality assurance, verification, certification, assessment, audit, problem resolution);

3. organizational processes (project management, creation of project infrastructure, definition, evaluation and improvement of the life cycle itself, training).

Among the main life cycle processes, the most important are development, operation and maintenance. Each process is characterized by certain tasks and methods for solving them, initial data; obtained at the previous stage, and the results.

1. Development

Development of an information system includes all work on the development of information software and its components in accordance with specified requirements. Information software development also includes:

1. preparation of design and operational documentation;

2. preparation of materials necessary for testing secret software products;

3. development of materials necessary for organizing personnel training.

Development is one of the most important processes in the life cycle of an information system and, as a rule, includes strategic planning, analysis, design and implementation (programming).

2. Operation

Operational work can be divided into preparatory and basic. Preparatory ones include:

1. configuration of the database and user workstations;

2. providing users with operational documentation;

3. personnel training.

Major operational activities include;

1. direct operation;

2. localization of problems and elimination of the causes of their occurrence;

3. software modification;

4. preparation of proposals for improving the system;

5. development and modernization of the system.

3. Accompaniment

Services technical support play a very noticeable role in the life of any corporate information system. The presence of qualified technical service at the stage of operation of the information system is a necessary condition for solving the tasks assigned to it. Moreover, errors by service personnel can lead to obvious or hidden financial losses comparable to the cost of the information system itself.



Life cycle models

A life cycle model is a structure that defines the sequence of execution and relationships of processes, activities and tasks performed throughout the life cycle. The life cycle model depends on the specifics of the information system and the specific conditions in which the latter is created and operates

To date, the following main life cycle models have become most widespread:

1. task model;

2. cascade model (or system) (70-85);

3. spiral model (present tense).

Problem model

When developing a system "bottom-up" from individual tasks to the entire system (task model), a unified approach to development is inevitably lost, and problems arise in the information connection of individual components. As a rule, as the number of tasks increases, the difficulties increase, and it is necessary to constantly change existing programs and data structures. The speed of development of the system slows down, which slows down the development of the organization itself. However, in some cases this technology may be advisable:

Extreme urgency (the problems must be solved somehow; then everything will have to be done again);

Experiment and adaptation of the customer (algorithms are not clear, solutions are found by trial and error).

The general conclusion is that it is impossible to create a sufficiently large, effective information system in this way.

Cascade model

In early homogeneous information systems that were not very large in volume, each application was a single whole. To develop this type of application, the waterfall method was used. Its main characteristic is the division of the entire development into stages, and the transition from one stage to the next occurs only after the work on the current one is completely completed (Fig. 2). Each stage culminates in the release of a complete set of documentation sufficient to allow development to be continued by another development team.

The positive aspects of using the cascade approach are as follows:

at each stage, a complete set of design documentation is generated that meets the criteria of completeness and consistency;

the stages of work carried out in a logical sequence make it possible to plan the completion time of all work and the corresponding costs.

Rice. . Waterfall development scheme

The cascade approach has proven itself well in the construction of information systems, for which at the very beginning of development all requirements can be quite accurately and completely formulated in order to give developers the freedom to implement them as best as possible with technical point vision. Complex calculation systems, real-time systems, and other similar tasks fall into this category. However, in the process of using this approach, a number of its shortcomings were discovered, caused primarily by the fact that the real process of creating systems never completely fit into such a rigid scheme. During the creation process, there was a constant need to return to previous stages and clarify or revise earlier decisions made. As a result, the actual software creation process took the following form (Fig. 3):

Rice. 3. Real software development process using a waterfall scheme

The main disadvantage of the cascade approach is the significant delay in obtaining results. Coordination of results with users is carried out only at points planned after the completion of each stage of work; the requirements for information systems are “frozen” in the form of technical specifications for the entire time of its creation. Thus, users can make their comments only after work on the system is completely completed. If requirements are inaccurately stated or they change over a long period of software development, users end up with a system that does not meet their needs. Models (both functional and informational) of the automated object may become outdated simultaneously with their approval. The essence of a systematic approach to IS development lies in its decomposition (breakdown) into automated functions: the system is divided into functional subsystems, which in turn are divided into subfunctions, subdivided into tasks, and so on. The partitioning process continues down to specific procedures. At the same time, the automated system maintains a holistic view in which all components are interconnected. Thus, this model’s main advantage is its systematic development, and its main disadvantages are that it is slow and expensive.

Spiral model

To overcome these problems, a spiral life cycle model was proposed (Fig. 4), focusing on initial stages life cycle: analysis and design. At these stages, the feasibility of technical solutions is tested by creating prototypes. Each turn of the spiral corresponds to the creation of a fragment or version of the software, where the goals and characteristics of the project are clarified, its quality is determined, and the work of the next turn of the spiral is planned. Thus, the details of the project are deepened and consistently specified, and as a result, a reasonable option is selected, which is brought to implementation.

Development by iterations reflects the objectively existing spiral cycle of creating a system. Incomplete completion of work at each stage allows you to move on to the next stage without waiting for the complete completion of work at the current one. With an iterative development method, the missing work can be completed in the next iteration. The main task is to show system users a workable product as quickly as possible, thereby activating the process of clarifying and supplementing requirements.

The main problem of the spiral cycle is determining the moment of transition to the next stage. To solve it, it is necessary to introduce time restrictions for each stage of the life cycle. The transition proceeds as planned, even if not all planned work is completed. The plan is drawn up based on statistical data obtained in previous projects and the personal experience of the developers.

Figure 4. Spiral model of life cycle of an IC

One of the possible approaches to software development within the framework of the spiral life cycle model is the one received in Lately widespread use of the RAD (Rapid Application Development) methodology. This term usually refers to a software development process containing 3 elements:

a small team of programmers (from 2 to 10 people);

short but carefully researched production schedule(from 2 to 6 months);

a repeating cycle in which developers, as the application begins to take shape, request and implement into the product the requirements received through interaction with the customer.

The software life cycle according to the RAD methodology consists of four phases:

1. requirements definition and analysis phase;

2. design phase;

3. implementation phase;

4. implementation phase.


Lecture 6. Classification of information systems

Information system- an interconnected set of means, methods and personnel used for storing, processing and issuing information in the interests of achieving a given goal

Classification by scale

By scale, information systems are divided into the following groups:

1. single;

2. group;

3. corporate.

Single information systems are implemented, as a rule, on an autonomous personal computer(network not used). Such a system may contain several simple applications connected by a common information fund, and is designed for the work of one user or a group of users sharing one workplace. Such applications can be created using so-called desktop or local database management systems (DBMS). Among local DBMSs, the most famous are Clarion, Clipper, FoxPro, Paradox, dBase and Microsoft Access.

Group information systems focused on the collective use of information by members working group and are most often built on the basis of a local area network. When developing such applications, database servers (also called SQL servers) are used for workgroups. There are quite a large number of different SQL servers, both commercial and freely distributed. Among them, the most famous database servers are Oracle, DB2, Microsoft SQL Server, InterBase, Sybase, Informix.

Corporate information systems are a development of systems for workgroups, they are focused on large companies and can support geographically dispersed nodes or networks. Basically they have a hierarchical structure of several levels. Such systems are characterized by a client-server architecture with specialization of servers or a multi-level architecture. When developing such systems, the same database servers can be used as when developing group information systems. However, in large information systems, the most widely used servers are Oracle, DB2 and Microsoft SQL Server.

For group and corporate systems, the requirements for reliable operation and data security are significantly increased. These properties are provided by maintaining the integrity of data, links and transactions in database servers.

Classification by area of ​​application

According to the scope of application, information systems are usually divided into four groups:

1. transaction processing systems;

2. decision-making systems;

3. information and reference systems;

4. office information systems.

Transaction Processing Systems, in turn, according to the efficiency of data processing, are divided into package information systems and operational information systems. In information systems organizational management the mode of online transaction processing prevails to reflect relevant state of the subject area at any time, and batch processing occupies a very limited part.

Decision support systems - DSS (Decision Support Systeq) - represent another type of information systems in which, using quite complex queries, data is selected and analyzed in various contexts: time, geography and other indicators.

Extensive class information and reference systems based on hypertext documents and multimedia. Such information systems have received the greatest development on the Internet.

Class office information systems aims to translate paper documents into electronic view, office automation and document management.

Classification by method of organization

According to the method of organization, group and corporate information systems are divided into the following classes:

1. systems based on file-server architecture;

2. systems based on client-server architecture;

3. systems based on multi-level architecture;

4. systems based on Internet/intranet technologies.

At any information system It is possible to identify the necessary functional components that help to understand the limitations of various information system architectures.

File server architecture only extracts data from files so that additional users and applications add only negligible CPU load. Every new client adds computing power to the network.

Client-server architecture is designed to solve the problems of file server applications by separating application components and placing them where they will function most efficiently. A feature of the client-server architecture is the use of dedicated database servers that understand queries in the Structured Query Language (SQL) and perform searches, sorting and aggregation of information.

Currently, client-server architecture has gained recognition and widespread use as a way to organize applications for workgroups and enterprise-level information systems. Similar organization work increases the efficiency of application execution by using the capabilities of the database server, offloading the network and ensuring data integrity control.

Layered architecture became a development of the client-server architecture and in its classical form consists of three levels:

1. the lower level represents client applications that have a programming interface for calling the application at the middle level;

2. average level is an application server;

3. The top level is a remote specialized database server.

The three-tier architecture further balances the load across different nodes and the network, promotes tool specialization for application development, and eliminates the shortcomings of the two-tier client-server model.

In development Internet/intranet technologies The main emphasis so far is on the development of software tools. At the same time, there is a lack of developed tools for developing applications that work with databases. A compromise solution for creating convenient and easy-to-use and maintain information systems that work effectively with databases was the combination of Internet/Intranet technology with a multi-level architecture. In this case, the structure of the information application takes on the following form: browser - application server - database server - dynamic page server - web server.

Based on the nature of the information stored, databases are divided into factual And documentary. If we draw an analogy with the examples of information repositories described above, then factual databases are card indexes, and documentary databases are archives. Factual databases store brief information in a strictly defined format. Documentary databases contain all kinds of documents. Moreover, these can be not only text documents, but also graphics, video and sound (multimedia).

An automated control system (ACS) is a set of technical and software tools, together with organizational structures (individuals or teams), that provides control of an object (complex) in a production, scientific or public environment.

There are information systems for education management (For example, personnel, applicant, student, library programs). Automated systems for scientific research(ASNI), which are software and hardware systems that process data coming from various kinds of experimental installations and measuring instruments, and, based on their analysis, facilitate the discovery of new effects and patterns. Computer-aided design systems and geographic information systems.

An artificial intelligence system built on the basis of high-quality specialized knowledge about a certain subject area (obtained from experts - specialists in this field) is called an expert system. Expert systems - one of the few types of artificial intelligence systems - have become widespread and have found practical use. There are expert systems in military affairs, geology, engineering, computer science, space technology, mathematics, medicine, meteorology, industry, agriculture, management, physics, chemistry, electronics, law, etc. And only the fact that expert systems remain very complex, expensive, and most importantly, highly specialized programs is holding back their even wider distribution.

Expert systems (ES) are computer programs created to perform those types of activities that a human expert can do. They work in a way that mimics the behavior of a human expert, and is quite different from the precise, well-reasoned algorithms and mathematical procedures of most traditional designs.

1. IS life cycle and its structure. 2

1.1 Stages of the IS life cycle.. 3

1.2 IS life cycle standards.. 4

2. Life cycle models. 6

2.1 Types of IS life cycle models.. 6

2.2 Advantages and disadvantages of IS life cycle models.. 8

3. IS life cycle processes.................................................... .................. eleven

3.1 Basic life cycle processes. eleven

3.2 Supporting life cycle processes. 13

3.3 Organizational processes.. 14

List of used literature... 16


The life cycle of an information system is a period of time that begins from the moment a decision is made on the need to create an information system and ends at the moment it is completely taken out of service.

The concept of life cycle is one of the basic concepts of information systems design methodology.

The methodology for designing information systems describes the process of creating and maintaining systems in the form of an IS life cycle (LC), presenting it as a certain sequence of stages and processes performed on them. For each stage, the composition and sequence of work performed, the results obtained, methods and means necessary to complete the work, the roles and responsibilities of the participants, etc. are determined. Such a formal description of the life cycle of an information system makes it possible to plan and organize the process of collective development and ensure management of this process.

The complete life cycle of an information system typically includes strategic planning, analysis, design, implementation, implementation, and operation. IN general case the life cycle can in turn be divided into a number of stages. In principle, this division into stages is quite arbitrary. We will consider one of the options for such a division, offered by Rational Software Corporation, one of the leading companies in the software market for information systems development tools (among which the universal CASE tool Rational Rose is deservedly very popular).


1.1 Stages of the IP life cycle

Stage - part of the process of creating an IP, limited by a certain time frame and ending with the release of a specific product (models, software components, documentation), determined by the requirements specified for this stage. The relationship between processes and stages is also determined by the IS life cycle model used.

According to the methodology proposed by Rational Software, the life cycle of an information system is divided into four stages.

The boundaries of each stage are defined by certain points in time at which certain critical decisions must be made and, therefore, certain key goals must be achieved.

1) Initial stage

At the initial stage, the scope of the system is established and the boundary conditions are determined. To do this, it is necessary to identify all external objects with which the developed system must interact, and determine the nature of this interaction at a high level. At the initial stage, all the functionality of the system is identified and the most significant of them are described.

2) Clarification stage

At the clarification stage, an analysis of the application area is carried out, and the architectural basis of the information system is developed.

When making any decisions regarding system architecture, the system as a whole must be taken into account. This means that it is necessary to describe most functionality system and take into account the relationships between its individual components.

At the end of the clarification stage, an analysis of architectural solutions and ways to eliminate the main risk factors in the project is carried out.

3) Construction stage

At the design stage, a finished product is developed, ready for delivery to the user.

At the end of this stage, the performance of the developed software is determined.

4) Commissioning stage

At the commissioning stage, the developed software is transferred to users. When operating a developed system in real conditions, various types of problems often arise that require additional work to make adjustments to the developed product. This is usually associated with the detection of errors and shortcomings.

At the end of the commissioning stage, it is necessary to determine whether the development objectives have been achieved or not.

1.2 IP life cycle standards

Modern networks are developed on the basis of standards, which makes it possible to ensure, firstly, their high efficiency and, secondly, the possibility of their interaction with each other.

Among the most well-known standards are the following:

GOST 34.601-90 - applies to automated systems and establishes the stages and stages of their creation. In addition, the standard contains a description of the content of work at each stage. The stages and stages of work enshrined in the standard are more consistent with the cascade life cycle model.

ISO/IEC 12207 (International Organization of Standardization / International Electrotechnical Commission) 1995 - standard for processes and life cycle organization. Applies to all types of custom software. The standard does not contain descriptions of phases, stages and stages.

The Rational Unified Process (RUP) offers an iterative development model that includes four phases: start, explore, build, and implement. Each phase can be broken down into stages (iterations) that result in a version being released for internal or external use. Progress through four main phases is called a development cycle, each cycle ending with the generation of a version of the system. If work on the project does not stop after this, then the resulting product continues to develop and again goes through the same phases. The essence of work within RUP is the creation and maintenance of UML-based models.

Microsoft Solution Framework (MSF) is similar to RUP, it also includes four phases: analysis, design, development, stabilization, it is iterative, and involves the use of object-oriented modeling. MSF, compared to RUP, is more focused on the development of business applications.

Extreme Programming (XP). Extreme programming (the newest among the methodologies under consideration) was formed in 1996. The methodology is based on teamwork, effective communication between the customer and the contractor throughout the entire IP development project, and development is carried out using consistent highly refined prototypes.


2. Life cycle models

An IS life cycle model is a structure that defines the sequence of execution and relationships between processes, actions and tasks throughout the life cycle. The life cycle model depends on the specifics, scale and complexity of the project and the specific conditions in which the system is created and operates.

The IS life cycle model includes:

results of work at each stage;

key events - points of completion of work and decision-making.

The life cycle model reflects various states systems, starting from the moment the need for this information system arises and ending with the moment of its complete obsolescence.

2.1 Types of IS life cycle models

The following life cycle models are currently known and used:

The cascade model (Fig. 2.1) provides for the sequential implementation of all stages of the project in a strictly fixed order. The transition to the next stage means the complete completion of work at the previous stage.

Staged model with intermediate control (Fig. 2.2). IS development is carried out in iterations with feedback loops between stages. Interstage adjustments make it possible to take into account the actual mutual influence of development results at various stages; The lifetime of each stage extends over the entire development period.

Spiral model (Fig. 2.3). At each turn of the spiral, the next version of the product is created, the requirements of the project are specified, its quality is determined, and the work of the next turn is planned. Special attention is paid to the initial stages of development - analysis and design, where the feasibility of certain technical solutions is checked and justified through the creation of prototypes (layout).

Rice. 2.1. Cascade model of IS life cycle

Rice. 2.2. Stepwise model with intermediate control

Rice. 2.3. Spiral model of IS life cycle

In practice, two main life cycle models are most widely used:

cascade model (typical for the period 1970-1985);

spiral model (typical for the period after 1986).

2.2 Advantages and disadvantages of IP life cycle models

In early projects of fairly simple IS, each application was a single, functionally and informationally independent block. The cascade method has proven to be effective for developing this type of application. Each stage was completed after complete completion and documentation of all required work.

The following can be distinguished positive sides application of the cascade approach:

at each stage, a complete set of design documentation is generated that meets the criteria of completeness and consistency;

the stages of work performed in a logical sequence make it possible to plan the completion time of all work and the corresponding costs.

The cascade approach has proven itself well in the construction of relatively simple integrated circuits, when at the very beginning of development it is possible to quite accurately and completely formulate all the requirements for the system. The main disadvantage of this approach is that the actual process of creating a system never completely fits into such a rigid scheme; there is always a need to return to previous stages and clarify or revise previously made decisions. As a result, the actual process of creating an IS turns out to correspond to a stage-by-stage model with intermediate control.

The spiral life cycle model was proposed to overcome these problems. At the analysis and design stages, the feasibility of technical solutions and the degree to which customer needs are met are verified by creating prototypes. Each turn of the spiral corresponds to the creation of a workable fragment or version of the system. This allows you to clarify the requirements, goals and characteristics of the project, determine the quality of development, and plan the work of the next turn of the spiral. In this way, the details of the project are deepened and consistently specified, and as a result, a reasonable option is selected that satisfies the actual requirements of the customer and is brought to implementation.

The main problem of the spiral cycle is determining the moment of transition to the next stage. To solve this problem, time restrictions are introduced for each of the stages of the life cycle, and the transition is carried out in accordance with the plan, even if not all planned work is completed. Planning is made based on statistical data obtained in previous projects and the personal experience of the developers.

Despite strong recommendations from IC design and development experts, many companies continue to use the waterfall model instead of some variation of the iterative model. The main reasons why the waterfall model remains popular are the following:

Habit - Many IT professionals were educated at a time when only the waterfall model was taught, which is why they still use it today.

The illusion of reducing the risks of project participants (customer and contractor). The cascade model involves the development of finished products at each stage: technical specifications, technical design, software product and user documentation. The developed documentation allows not only to determine the requirements for the product of the next stage, but also to determine the responsibilities of the parties, the scope of work and deadlines, while the final assessment of the timing and cost of the project is made at the initial stages, after completion of the survey. Obviously, if the requirements for the information system change during the implementation of the project, and the quality of the documents turns out to be low (the requirements are incomplete and/or contradictory), then in reality the use of the waterfall model creates only the illusion of certainty and in fact increases risks, reducing only the responsibility of project participants.

Implementation problems when using an iterative model. In some areas, the spiral model cannot be used because it is impossible to use/test a product that has incomplete functionality (for example, military development, nuclear power etc.). Phased iterative implementation of a business information system is possible, but is associated with organizational difficulties (data transfer, systems integration, changes in business processes, accounting policies, user training). Labor costs during phased iterative implementation turn out to be much higher, and project management requires real art. Anticipating these difficulties, customers choose a waterfall model to “implement the system once.”

A process is defined as a set of interrelated activities that transform inputs into outputs. The description of each process includes a list of tasks to be solved, input data and results.

In accordance with the basic international standard ISO/IEC 12207 all software life cycle processes are divided into three groups:

3.1 Basic life cycle processes

Acquisition (actions and tasks of the customer purchasing the IP)

Delivery (actions and tasks of the supplier who supplies the customer with a software product or service)

Development (actions and tasks performed by the developer: software creation, preparation of design and operational documentation, preparation of test and training materials, etc.)

Operation (actions and tasks of the operator - the organization operating the system)

Maintenance (actions and tasks performed by the accompanying organization, that is, the support service). Support - making changes to software in order to correct errors, improve productivity, or adapt to changed operating conditions or requirements.

Among the main life cycle processes, three are of greatest importance: development, operation and maintenance. Each process is characterized by certain tasks and methods for solving them, initial data obtained at the previous stage, and results.

Development

Development of an information system includes all work on creating information software and its components in accordance with specified requirements. Information software development also includes:

preparation of design and operational documentation;

preparation of materials necessary for testing developed software products;

development of materials necessary for personnel training.

Development is one of the most important processes in the life cycle of an information system and, as a rule, includes strategic planning, analysis, design and implementation (programming).

Exploitation

Operational work can be divided into preparatory and basic. Preparatory ones include:

configuring the database and user workstations;

providing users with operational documentation;

training.

Major operational activities include:

direct operation;

localization of problems and elimination of the causes of their occurrence;

software modification;

preparation of proposals for improving the system;

development and modernization of the system.

Escort

Technical support services play a very significant role in the life of any corporate information system. The presence of qualified technical service at the stage of operation of an information system is a necessary condition for solving the tasks assigned to it, and errors by maintenance personnel can lead to obvious or hidden financial losses comparable to the cost of the information system itself.

The main preliminary actions in preparation for organizing maintenance of an information system are:

identifying the most critical components of the system and determining the criticality of downtime for them (this will allow identifying the most critical components of the information system and optimizing the allocation of resources for maintenance);

identification of maintenance tasks and their division into internal, solved by the service department, and external, solved by specialized service organizations (thus a clear definition of the range of functions performed and division of responsibilities is made);

conducting an analysis of existing internal and external resources necessary for organizing maintenance within the framework of the described tasks and division of competence (main criteria for analysis: availability of a warranty on equipment, condition of the repair fund, personnel qualifications);

preparation of a maintenance organization plan, in which it is necessary to determine the stages of the actions performed, the timing of their execution, the costs of the stages, and the responsibility of the performers.

3.2 Supporting life cycle processes

Documentation (formalized description of information created during the IS life cycle)

Configuration management (application of administrative and technical procedures throughout the life cycle of the IS to determine the state of IS components and manage its modifications).

Quality assurance (providing guarantees that the information system and its life cycle processes comply with specified requirements and approved plans)

Verification (determining that software products resulting from some action fully satisfy the requirements or conditions imposed by previous actions)

Certification (determining the completeness of compliance of the specified requirements and the created system with their specific functional purpose)

Joint assessment (assessment of the status of work on the project: control of planning and management of resources, personnel, equipment, tools)

Audit (determining compliance with requirements, plans and contract terms)

Problem resolution (analysis and resolution of problems, regardless of their origin or source, that are discovered during development, operation, maintenance or other processes)

3.3 Organizational processes

Control (actions and tasks that can be performed by any party managing its processes)

Creation of infrastructure (selection and maintenance of technology, standards and tools, selection and installation of hardware and software used for development, operation or maintenance of software)

Improvement (assessment, measurement, control and improvement of life cycle processes)

Training (initial training and subsequent ongoing staff development)

Project management is associated with issues of planning and organizing work, creating development teams and monitoring the timing and quality of work performed. Technical and organizational support for the project includes:

selection of methods and tools for project implementation;

determination of methods for describing intermediate development states;

development of methods and means for testing the created software;

1. Izbachkov S.Yu., Petrov V.N. Information systems – St. Petersburg: Peter, 2008. – 655 p.

2. http://ru.wikipedia.org

3. http://www.intuit.ru

Like a living organism, every product (good or service) has its own life cycle , which begins with the moment of its “birth” (or, perhaps, with the origin of the idea) and ends with its “death”, or withdrawal from use.

EIS life cycle a set of stages that an EIS goes through in its development from the moment the decision is made to create it until it ceases to function.

The life cycle of an economic information system includes the following stages:

1) pre-design;

2) logical and technical design;

3) working (physical) design;

4) implementation;

5) operation;

6) seizure.

Pre-design The stage includes research and analysis of the company's management system, identifying existing information consumers. The goal of this stage is to formulate IS requirements that correctly and accurately reflect the goals and objectives of the customer organization. To specify the process of creating information system that meets the needs of the organization, it is necessary to find out and clearly articulate what these needs are. To do this, it is necessary to determine customer requirements for IS and map them in model language into requirements for the development of an IS project in such a way as to ensure compliance of the future IS with the goals and objectives of the organization.

The task of forming requirements for information systems is one of the most important, difficult to formalize, and the most expensive and difficult to correct in the event of an error.

Modern tools and software products allow you to quickly create IP according to ready-made requirements. But often these systems do not satisfy customers and require numerous modifications, which leads to a sharp increase in the actual cost of the IP. The main reason for this situation is the incorrect, inaccurate or incomplete definition of IS requirements at the analysis stage.

At this stage, problems related to the development of technical specifications, an action plan for the preparation of the facility, including personnel training and financing, should be resolved. At this stage, an analysis of the feasibility of the IP is also carried out, namely, the following is considered:

· operational feasibility – is it possible to create this IS, how convenient will it be to use and meet the specified requirements;

· economic feasibility – cost, effectiveness from the user’s point of view;

Design logical and technical - this is development in accordance with the formulated requirements and identified information needs of the system and functional architecture of the EIS.

At the design stage, first of all, data models are formed. Designers receive analysis results as initial information. Building logical and physical data models is a fundamental part of database design. The information model obtained during the analysis process is first converted into a logical and then into a physical data model.

In parallel with the design of the database schema, process design is carried out to obtain specifications (descriptions) of all IS modules. Both of these design processes are closely related because some of the business logic is usually implemented in the database (constraints, triggers, stored procedures). the main objective process design consists of mapping the functions obtained at the analysis stage into modules of the information system. When designing modules, program interfaces are determined: menu layout, window appearance, hot keys and related calls.

In addition, at the design stage, the development of the IS architecture is also carried out, including the selection of platform (platforms) and operating system (operating systems). In a heterogeneous IS, several computers can run on different hardware platforms and running different operating systems.

In addition to choosing a platform, at the design stage the types of architecture are determined:

· “file-server” or “client-server” architecture;

· centralized or distributed database. If the database is distributed, then what mechanisms will be used to maintain data consistency and relevance;

· servers, parallel or single for databases (in order to achieve the required performance), etc.

The design stage ends with the development of a technical design of the IP.

Design working (physical) includes creating and configuring programs, filling databases, creating work instructions for personnel. Design ends with the creation of a working draft.

A working project is technical documentation approved in the prescribed manner, containing updated data and detailed system-wide design solutions, programs and instructions for solving problems, as well as an updated assessment of the economic efficiency of the automated control system and an updated list of measures to prepare the facility for implementation.

During the pilot and industrial implementation comprehensive installation of the system and personnel training are carried out.


System implementation is a process of gradual transition from an existing EIS to a new one, provided for by the detailed design documentation for the entire system. The implementation of individual tasks and subsystems can be carried out in parallel with the development of a working design for the entire system.

The main stages of system implementation are:

· preparing the facility for system implementation;

· delivery of tasks and subsystems for trial operation;

· carrying out trial operation;

· putting tasks, subsystems, and the system as a whole into commercial operation.

Trial operation of the IS consists of testing algorithms, programs and links technological process data processing in real conditions. It is carried out for the following:

· final debugging of programs and testing of the technological process for solving problems;

· checking the readiness of the information base;

· working out the interconnection of system tasks;

· acquisition of work skills by enterprise personnel;

· setting up the entire system as a whole and eliminating identified shortcomings.

After completing the trial operation of the system, an implementation report is drawn up. If the results of the trial operation are positive, the system is put into commercial operation.

Exploitation EIS – its use in real conditions. During operation, support, analysis of system operation, correction of errors and shortcomings, registration of requirements and development of plans for modernization and expansion of the system are also carried out.

Seizure EIS decommissioning refers to the complete removal of EIS from operation or significant modernization, which allows us to talk about the creation of a fundamentally new information system.

Existing life cycle models determine the order of execution of stages during development, as well as the criteria for transition from stage to stage. In accordance with this, the following three life cycle models are most widely used:

1) cascade model, which involves moving to the next stage after complete completion of work on the previous stage;

2) stage-by-stage model with intermediate control, i.e. iterative development model with feedback loops between stages. The advantage of this model is that inter-stage adjustments provide less labor intensity compared to the cascade model, however, the lifetime of each stage extends over the entire development period;

3) the spiral model emphasizes the initial stages of the life cycle: requirements analysis, specification design, preliminary and detailed design. At these stages, the feasibility of technical solutions is checked and justified by creating prototypes. Each turn of the spiral corresponds to a step-by-step model for creating a fragment or version of a software product, where the goals and characteristics of the project are clarified, its quality is determined, and the work of the next turn of the spiral is planned. Thus, the details of the project are deepened and consistently specified, and as a result, a reasonable option is selected, which is brought to implementation.

At all stages of the EIS life cycle, an important role is played by economic specialists who:

· formulate requirements for a future information system or a plan for its modernization;

· carry out justification and calculation of the economic efficiency of individual solutions used as part of the IS and the system as a whole;

· participate directly in the process of creating an electronic information system, helping to model business processes and the information processes corresponding to them, including employees of the enterprise for which the information system is being created, in accordance with one of the principles of creating an information system.

· participate in debugging the system when transferring it into operation;

· (experts) use their knowledge and experience to fill databases and knowledge;

· at the implementation stage, they develop instructions and train personnel, applying their knowledge and practical experience.

Research recent years have shown that productivity gains through the use of information technology are very rarely achieved. main reason is that new information technologies are often mirror images of previous methods and processes. This realization led to

the emergence of a new direction in the field of management - reengineering business processes, which refers to the improvement or enhancement of an existing business process through the use of information technology with a parallel fundamental rethinking and radical reorientation of business processes to achieve dramatic improvements important indicators(increasing productivity, improving quality, reducing costs).

The life cycle is not a time period of existence, but a process of sequential changes in state, determined by the type of impacts produced (R 50-605-80-93).

The term “system life cycle” usually refers to the evolution of a new system in several stages, including such important stages as concept, development, production, operation and final decommissioning:70.

History of the life cycle concept

The concept of the life cycle arose at the end of the 19th century. as a complex of ideas, including the ideas of heredity and development at the level of individuals and organisms, as well as adaptation, survival and extinction at the level of individual species and entire populations of living organisms.

Typical system life cycle models

There is no single life cycle model that will satisfy the requirements of every possible task. Various organizations Standardization agencies, government agencies, and engineering societies publish their own models and technologies that can be used to construct the model. Thus, it is inappropriate to claim the existence of a single possible algorithm for constructing a life cycle model.

Some systems engineering experts suggest considering a system life cycle model based on the following three sources: the Department of Defense (DoD) logistics management model (DoD 5000.2), the ISO/IEC 15288 model, and the National Society of Professional Engineers (NSPE):71.

Typical life cycle model according to ISO/IEC 15288

According to the standard, life cycle processes and activities are defined, appropriately configured and used during a life cycle stage to fully satisfy the goals and results of that stage. Different organizations may be involved in different stages of the life cycle. There is no single universal model of system life cycles. Certain stages of the life cycle may be absent or present depending on each specific case of system development:34.

The standard gave the following life cycle stages as examples:

  1. The idea.
  2. Development.
  3. Production.
  4. Application.
  5. Application support.
  6. Discontinuation and write-off.

There are no examples of life cycle stages in the 2008 version of the standard (ISO/IEC 15288:2008).

Typical life cycle model according to the US Department of Defense

To manage the risks of using advanced technologies and minimize costly technical or management errors, the US Department of Defense has developed guidance that contains all the necessary principles for system development. These principles are included in a special list of directives - DoD 5000.

The life cycle model of a logistics management system according to the US Department of Defense consists of five stages:71:

  1. Analysis.
  2. Technology development.
  3. Engineering and production development.
  4. Production and deployment.
  5. Operation and support.

National Society of Professional Engineers (NSPE) Generic System Life Cycle Model

This model adapted for the development of commercial systems. This model mainly focuses on the development of new products, usually the result of technological progress. The NSPE model provides an alternative view of the DoD version model. The life cycle according to the NSPE model is divided into six stages:72:

  1. Concept.
  2. Technical implementation.
  3. Development.
  4. Commercial validation and production preparation.
  5. Full-scale production.
  6. End product support.

Typical product life cycle model according to R 50-605-80-93

The guidance document R 50-605-80-93 carefully studies the life cycle of an industrial product, including - military equipment.

For industrial products for civilian use, the following stages are proposed:

  1. Research and design.
  2. Manufacturing.
  3. Appeal and implementation.
  4. Operation or consumption.

Within the life cycle of industrial products for civilian use, it is proposed to consider 73 types of work and 23 types of stakeholders (“work participants” in the terminology of the document).

For industrial products for military purposes, the following stages are proposed:

  1. Research and justification of development.
  2. Development.
  3. Production.
  4. Exploitation.
  5. Major renovation.

Within the life cycle of military industrial products, it is proposed to consider 25 types of work and 7 types of stakeholders (work participants).

Typical software life cycle model

The system life cycle stages and their component phases, presented in the figure "System Life Cycle Model", apply to most complex systems, including those that contain software with a significant amount of functionality at the component level. In software-intensive systems in which software performs almost all functions (such as in modern financial systems, airline ticket reservation systems, the global Internet, etc.), as a rule, life cycles are similar in content, but are often complicated by iteration processes and prototyping: 72-73.

Main stages of the system life cycle (Kossiakoff, Sweet, Seymour, Biemer)

As shown in the figure "System Life Cycle Model", the system life cycle model contains 3 stages. The first 2 stages are during development, and the third stage covers post-development. These stages show more general transitions from state to state in the life cycle of a system, and also show changes in the type and scope of activities involved in systems engineering. The stages are:73:

  • concept development stage;
  • technical development stage;
  • post-development stage.

Concept development stage

The purpose of the concept development stage is to assess new possibilities in the field of application of the system, develop preliminary system requirements and possible design solutions. The conceptual design development stage begins with the realization of the need to create a new system or modify an existing one. The stage includes the beginning of factual research, a planning period, and the economic, technical, strategic and market bases of future actions are assessed. A dialogue is taking place between stakeholders and developers.

Main goals of the concept development stage:74:

  1. Conduct research to determine what is needed for the new system, as well as the technical and economic feasibility of the system.
  2. Explore potential system concepts and formulate and validate a set of system performance requirements.
  3. Select the most attractive system concept, determine its functional characteristics, and develop a detailed plan for the subsequent stages of design, production and operational deployment of the system.
  4. Develop any new technology suitable for the chosen system concept and validate its ability to meet the needs.

Technical development stage

The technical development stage involves the process of designing a system to implement the functions formulated in the system concept into a physical embodiment that can be supported and successfully operated in its operating environment. Systems engineering is primarily concerned with guiding development and design, managing interfaces, developing test plans, and determining how discrepancies in the performance of a system not verified during testing and evaluation should be properly corrected. The bulk of engineering activities are carried out at this stage.

The main objectives of the technical development stage are:74:

  1. Perform technical development of a system prototype that meets performance, reliability, maintainability, and safety requirements.
  2. Design a system suitable for use and demonstrate its operational suitability.

Post-development stage

The post-development stage consists of activities outside the system development period, but still requires significant support from systems engineers, especially when unexpected problems are encountered that require prompt resolution. In addition, advances in technology often require internal service system upgrades, which can be as dependent on systems engineering as the concept and technical development stages.

.
  • Batovrin V.K., Bakhturin D.A. Life cycle management of technical systems. - 2012.
  • GOST R ISO/IEC 15288-2005 Information technology. Systems Engineering. Systems life cycle processes
  • R 50-605-80-93. Recommendations. System for developing and putting products into production. Terms and definitions (Link to text).
  • in electrical engineering). This standard defines a life cycle structure containing the processes, activities and tasks that must be completed during the creation of a software system.

    IN this standard PS (or software) is defined as a set of computer programs, procedures, and possibly associated documentation and data. A process is defined as a set of interrelated actions that transform some input data into output (G. Myers calls this data translation). Each process is characterized by certain tasks and methods for solving them. In turn, each process is divided into a set of actions, and each action into a set of tasks. Each process, action or task is initiated and executed by another process as needed, and there are no predetermined sequences of execution (of course, while maintaining connections across the input data).

    It should be noted that in the Soviet Union, and then in Russia, the creation of software (software) was initially, in the 70s of the last century, regulated by GOST ESPD standards (Unified System of Program Documentation - GOST 19.ХХХ series), which were class-oriented relatively simple, small programs created by individual programmers. Currently, these standards are outdated conceptually and in form, their validity period has expired and their use is inappropriate.

    The processes of creating automated systems (AS), which include software, are regulated by the standards GOST 34.601-90 "Information technology. Set of standards for automated systems. Stages of creation", GOST 34.602-89 "Information technology. Set of standards for automated systems. Technical task for the creation of an automated system" and GOST 34.603-92 "Information technology. Types of testing of automated systems." However, many of the provisions of these standards are outdated, and others are not reflected enough to be used for serious projects for the creation of PS. Therefore, in domestic developments it is advisable to use modern international standards.

    In accordance with the ISO / IEC 12207 standard, all software life cycle processes are divided into three groups (Fig. 5.1).


    Rice. 5.1.

    The groups define five main processes: acquisition, delivery, development, operation and support. Eight auxiliary processes provide execution of the main processes, namely documentation, configuration management, quality assurance, verification, certification, joint assessment, audit, problem resolution. The four organizational processes provide management, infrastructure, improvement and learning.

    5.2. Main processes of PS life cycle

    The acquisition process consists of the actions and tasks of the customer purchasing the software. This process covers the following activities:

    1. initiation of acquisition;
    2. preparation of bid proposals;
    3. preparation and adjustment of the contract;
    4. supervision of the supplier's activities;
    5. acceptance and completion of work.

    Initiating an acquisition includes the following tasks:

    1. determination by the customer of its needs for the acquisition, development or improvement of a system, software products or services;
    2. making decisions regarding the acquisition, development or improvement of existing software;
    3. checking the availability of necessary documentation, warranties, certificates, licenses and support in case of purchasing a software product;
    4. preparation and approval of the acquisition plan, including system requirements, type of contract, responsibilities of the parties, etc.

    Application proposals must contain:

    1. requirements for the system;
    2. list of software products;
    3. terms of acquisition and agreement;
    4. technical restrictions (for example, on the operating environment of the system).

    Bids are sent to the selected supplier or several suppliers in the event of a tender. A supplier is an organization that enters into a contract with a customer for the supply of a system, software or software service under the terms specified in the contract.

    Preparation and adjustment of the contract includes the following tasks:

    1. determination by the customer of a procedure for selecting a supplier, including criteria for evaluating proposals from possible suppliers;
    2. selection of a specific supplier based on analysis of proposals;
    3. preparation and conclusion agreements with the supplier;
    4. making changes (if necessary) to the contract during its implementation.

    Oversight of the supplier's activities is carried out in accordance with the actions provided for in the joint assessment and audit processes. During the acceptance process, the necessary tests are prepared and performed. Completion of work under the contract is carried out if all acceptance conditions are met.

    The delivery process covers the activities and tasks performed by the supplier who supplies the customer with a software product or service. This process includes the following steps:

    1. initiation of delivery;
    2. preparing a response to bid proposals;
    3. preparation of the contract;
    4. planning of work under the contract;
    5. execution and control of contract work and their evaluation;
    6. delivery and completion of work.

    Initiation of delivery consists of the supplier reviewing the bid proposals and deciding whether to agree with the stated requirements and conditions or offer their own (agreed). Planning includes the following tasks:

    1. making a decision by the supplier regarding the performance of work on its own or with the involvement of a subcontractor;
    2. development by the supplier of a project management plan containing organizational structure project, division of responsibilities, technical requirements to the development environment and resources, management of subcontractors, etc.

    The development process involves the actions and tasks performed by the developer and covers the work of creating software and its components in accordance with specified requirements. This includes the preparation of design and operational documentation, preparation of materials necessary for performance testing, and quality of software products, materials necessary for organizing personnel training, etc.

    The development process includes the following steps:

    1. preparatory work;
    2. analysis of system requirements;
    3. system architecture design;
    4. analysis of the requirements for software;
    5. software architecture design;
    6. detailed software design;
    7. software coding and testing;
    8. software integration;
    9. software qualification testing;
    10. system integration;
    11. system qualification testing;
    12. software installation;
    13. software acceptance.

    Preparatory work begins with the selection of a software life cycle model corresponding to the scale, significance and complexity of the project. The activities and tasks of the development process must correspond to the chosen model. The developer must select, adapt to the project conditions and use standards, methods and development tools, as well as draw up a work execution plan.

    Analysis of the requirements for the system involves determining its functionality, user requirements, requirements for reliability, security, requirements for external interfaces, performance, etc. System requirements are assessed based on feasibility and testability criteria.

    Designing a system's architecture involves determining the components of its hardware (hardware), software, and operations performed by the personnel operating the system. The system architecture must conform to the system requirements and accepted design standards and practices.

    Analysis of software requirements involves determining the following characteristics for each software component:

    1. functionality, including performance characteristics and operating environment of the component;
    2. external interfaces;
    3. reliability and safety specifications;
    4. ergonomic requirements;
    5. requirements for the data used;
    6. installation and acceptance requirements;
    7. requirements for user documentation;
    8. requirements for operation and maintenance.

    Software requirements are assessed based on the criteria of compliance with the requirements for the system as a whole, feasibility and testability.

    Software architecture design includes the following tasks for each software component:

    1. transformation of software requirements into an architecture that defines at a high level the structure of the software and the composition of its components;
    2. development and documentation of software interfaces and databases (DB);
    3. development of a preliminary version of user documentation;
    4. development and documentation of preliminary test requirements and software integration plan.

    Detailed software design includes the following tasks:

    1. description of software components and interfaces between them at a lower level sufficient for subsequent coding and testing;
    2. developing and documenting a detailed database design;
    3. updating (if necessary) user documentation;
    4. development and documentation of test requirements and a test plan for software components;

    Software coding and testing includes the following tasks:

    1. coding and documenting each software component and database, as well as preparing a set of test procedures and data for testing them;
    2. testing each software and database component for compliance with the requirements for them, followed by documentation of the test results;
    3. updating documentation (if necessary);
    4. updating the software integration plan.

    Software integration involves the assembly of developed software components in accordance with the integration and testing plan for the aggregated components. For each of the aggregated components, test sets and test procedures are developed to verify each of the qualification requirements during subsequent qualification testing. Qualification requirement is a set of criteria or conditions that must be met in order to qualify software as meeting its specifications and ready for use in the field.

    Software qualification testing is carried out by the developer in the presence of the customer (

    The operation process covers the activities and tasks of the operator organization operating the system. The operation process includes the following steps.

    1. Preparatory work, which includes the operator performing the following tasks:

      1. planning activities and work performed during operation and setting operational standards;
      2. determination of procedures for localizing and resolving problems that arise during operation.
    2. Operational testing carried out for each subsequent edition of a software product, after which this edition is put into operation.
    3. The actual operation of the system, which is performed in the environment intended for this purpose in accordance with the user documentation.
    4. analysis of problems and requests for modification of software (analysis of messages about a problem or request for modification, assessment of the scale, cost of modification, the resulting effect, assessment of the feasibility of modification);
    5. software modification (making changes to software product components and documentation in accordance with the rules of the development process);
    6. verification and acceptance (in terms of the integrity of the modified system);
    7. transferring software to another environment (converting programs and data, parallel operation of software in the old and new environment for a certain period of time);
    8. decommissioning of software by decision of the customer with the participation of the operating organization, support service and users. In this case, software products and documentation are subject to archiving in accordance with the agreement.

    Views