Научная статья на тему 'Уточнение к статье <<о формализации процесса разработки программного обеспечения>>'

Уточнение к статье <<о формализации процесса разработки программного обеспечения>> Текст научной статьи по специальности «Математика»

CC BY
136
25
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ФОРМАЛИЗАЦИЯ / ПРОЦЕСС РАЗРАБОТКИ / ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / ПРОИЗВОДИТЕЛЬНОСТЬ ТРУДА / БРУКС

Аннотация научной статьи по математике, автор научной работы — Тюменцев Е. А.

В статье «О формализации процесса разработки программного обеспечения» даны определения процесса разработки как процесса редактирования текста программы, скорости данного процесса и сформулировано достаточное условие линейной скорости. В определении скорости процесса разработки необходимо существование предела. Но требуемый предел может и не существовать. В этой статье приводится определение скорости процесса разработки, не требующее существования предела, и переформулируется достаточное условие линейной скорости в соответствии с новым определением.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Уточнение к статье <<о формализации процесса разработки программного обеспечения>>»

Математические структуры и моделирование 2018. №1(45). С. 144-147

УДК 004.053 DOI: 10.25513/2222-8772.2018.1.144-147

УТОЧНЕНИЕ К СТАТЬЕ «О ФОРМАЛИЗАЦИИ ПРОЦЕССА РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ»

Е.А. Тюменцев

генеральный директор, e-mail: [email protected]

LLC Hello World! Technologies, Омск, Россия

Аннотация. В статье «О формализации процесса разработки программного обеспечения» даны определения процесса разработки как процесса редактирования текста программы, скорости данного процесса и сформулировано достаточное условие линейной скорости. В определении скорости процесса разработки необходимо существование предела. Но требуемый предел может и не существовать. В этой статье приводится определение скорости процесса разработки, не требующее существования предела, и переформулируется достаточное условие линейной скорости в соответствии с новым определением.

Ключевые слова: формализация, процесс разработки, программное обеспечение, производительность труда, Брукс.

В номере 43 журнала «Математические структуры и моделирование» за 2017 год была опубликована статья [1], в которой процесс разработки представлен как последовательность Рг :

Р0 Рг Р2 ...

в терминах и обзначениях статьи [1], где Сг - одна из операций по редактированию текста программы:

добавление нового слова,

• добавление одного символа в существующее слово,

• удаление одного символа из существующего слова,

удаление слова.

При этом скорость процесса разработки определяется как Определение 8. Пусть ^ : N ^ Е - некоторая функция из множества N в Е. Говорят, что процесс разработки Рг обладает скоростью ^ тогда и только тогда, когда

Ит = С' ь (п)

Математические структуры и моделирование. 2018. №1(45)

145

где С> 0.

Это определение имеет ограничение по применению, так как предел

|Р,

Х^Х

lim 1 п

Р (п)

может и не существовать. Для определения скорости разработки важен не сам предел, а то, что последовательность -Щ), где г € (1, 2,...), можно ограничить снизу и сверху некоторыми константами. Если предел существует, то из этого следует ограниченность, но обратное утверждение не всегда выполняется. В силу этого замечания Предложение 7 верно не для всех процессов разработки (здесь и далее все предложения - это предложения из статьи [1]).

Кроме того, если следовать понятию скорости в общепринятом смысле, то скоростью будет не сама Р, а —, так как п в нашей модели играет роль времени.

На основании данных соображений дадим новые определения.

Определение 1. Пусть Р : N ^ К+ - некоторая функция из множества N в К+, где К+ = {х € К,ж ^ 0}. Говорят, что процесс разработки Рг обладает скоростью не лучше, чем Р с точностью до константы тогда и только тогда, когда

Зк € NУп> к \Рп\ ^ Р(п) • п.

Замечание 1. В силу предложения 4 скорость любого процесса разработки не может быть лучше, чем 1.

Определение 2. Пусть Р : N ^ К+ - некоторая функция из множества N в К+. Говорят, что процесс разработки Рг обладает скоростью не хуже, чем Р с точностью до константы тогда и только тогда, когда

Зк € NУп> кР(п) • п ^ \Рп\.

Определение 3. Пусть Р : N ^ К+ - некоторая функция из N в К+. Говорят, что процесс разработки Рг обладает скоростью Р с точностью до константы тогда и только тогда, когда

ЗСг > 0,С2 > 0 Зк € N Уп>к • Р(п) • п ^ \Рп\ ^ С2 • Р(п) • п.

Замечание 2. Пусть Р : N ^ К+ - некоторая функция из N в К+,

Рг - некоторый процесс разработки. Предположим, что lim J, "J = С, где

\Рп\ ?(пУ

С ^ 0. Тогда процесс разработки обладает скоростью F с точностью до константы.

Доказательство. Из существования предела lim J^") = С, где С ^ 0, следует ограниченность последовательности: J^-n, начиная с некоторого k е N. То есть

VCi > 0 Зк е N Vn>k С - Ci ^ ■Рп1 ^ с + Сь

г (п) ■ п

146

Е.А. Тюменцев. О формализации процесса разработки.

Основной результат статьи [1] — достаточное условие линейной скорости разработки теперь имеет следующую формулировку.

Теорема 1 (Достаточное условие константной скорости процесса разработки). В условиях предложения 6 предположим, что

ЗСг > 0 Зкг е N Уп ^ кг \Оп\ < Сг • \Рп|.

Тогда процесс разработки Рг обладает константной скоростью.

Доказательство. В силу предложения 6

п

- < 1Рп и Ип\ < п. с

По предложению 1

\Рп и Бп\ = \Рп\ + \Вп\, следовательно, по предположению теоремы

\Рп\ + \Оп\ < \Рп\ + Сг • \Рп\ = (1 + С\)\Рп\.

Получаем, что

ГП

- < (1 + Сг)\Рп\, с

то есть

_*_< \Р\

С(1 + Сг) < \^п\. С другой стороны, \РП\ < п. Получаем

п

С (1 + Сг)

< \Рп\ < п.

В силу определения 3 скорость Р процесса разработки Рг равна Р(п) = 1, что и требовалось доказать. ■

Замечание 3. Вообще говоря, константная скорость в нашем случае не значит, что скорость процесса разработки не меняется с течением времени. Важно то, что она не может упасть ниже определённой константы по мере роста размера проекта. Этим свойством обладают не все процессы разработки. В [1] был построен пример процесса разработки, скорость которого асимптотически приближалась к 0 по мере роста размера проекта.

Литература

1. Тюменцев Е.А. О формализации процесса разработки программного обеспечения // Математические структуры и моделирование. 2017. № 3(43). С. 96-107.

Математические структуры и моделирование. 2018. №1(45)

147

CLARIFICATION OF THE ARTICLE "ABOUT THE FORMALIZATION OF THE SOFTWARE DEVELOPMENT PROCESS"

E.A. Tyumentcev

CEO, e-mail: [email protected]

LLC Hello World! Technologies, Omsk, Russia

Abstract. In the article "About The Formalization Of The Software Development Process", the definitions of the software development process as a process of editing the text of the program, the speed of the process, and a sufficient condition for linear speed are formulated. In determining the speed of the development process, the existence of a limit is required. However, the required limit may not exist. In this paper, we define the speed of software development process, which does not require the existence of a limit, and reformulates a sufficient condition for linear velocity in accordance with the new definition.

Keywords: formalization, development process, software, productivity.

Дата поступления в редакцию: 05.02.2018

i Надоели баннеры? Вы всегда можете отключить рекламу.