- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Очерки истории отечественной программной инженерии в 1940-е – 80-е годы - Владимир Липаев
Шрифт:
Интервал:
Закладка:
К группе параметров, влияющих на сложность разработки комплексов программ, относятся:
• величина программы, выраженная числом строк, команд или количеством программных модулей в комплексе;
• количество обрабатываемых переменных или объем памяти для размещения базы данных;
• трудоемкость разработки комплекса программ;
• длительность разработки;
• количество специалистов, участвующих в создании комплекса программ.
В 70-е годы стало ясно, что, варьируя требования к функциональным характеристикам программ, можно в значительных пределах изменять сложность и длительность их создания. Вычислительная сложность была непосредственно связана с ресурсами вычислительной системы, необходимыми для получения совокупности законченных результатов, и могла быть представлена тремя компонентами:
• временная сложность отражала необходимую длительность исполнения комплекса программ или время обработки на ЭВМ совокупности исходных данных до получения требуемых результатов;
• программная сложность характеризовалась длиной текста программы или размером памяти ЭВМ, необходимой для размещения программного комплекса;
• информационную сложность рекомендовалось представлять, как объем базы данных, обрабатываемых комплексом программ, или как емкость оперативной и внешней памяти, используемой для накопления и хранения информации при исполнении программного продукта.
Эти параметры сложности программ при эксплуатации связаны между собой, и увеличение сложности по одному из показателей в некоторых пределах позволяет снижать сложность по другому показателю. Наиболее характерна такая связь между тремя основными характеристиками функционирования программ. длительностью исполнения, объемом базы данных и длиной текста программы. В системах реального времени временная сложность непосредственно отражается допустимым временем отклика (ожидания выходных результатов) на некоторые исходные данные. Пропускная способность комплекса программ при его исполнении на конкретной ЭВМ характеризует динамику обработки исходных данных, и сложность исполнения программ в реальном масштабе времени.
Программная сложность в первом приближении может измеряться количеством команд (строк текста), используемых в тексте данного комплекса программ. Относительная простота определения количества команд привела к широкому применению этого параметра в качестве инженерной меры программной сложности. Однако различия количества используемых байт в памяти ЭВМ на одну операцию затрудняют подсчет сложности программ по количеству команд, поэтому часто используются оценки по объему памяти, занимаемой программами (байт или слов конкретной ЭВМ). Такая оценка затрудняет сравнение программной сложности решения задач при применении ЭВМ с различной структурой команд.
В процессе эксплуатации комплекса программ основная сложность может быть сосредоточена в подготовке исходных данных и в анализе результатов. Это наиболее характерно для человеко-машинных систем обработки информации, в которых основные решения принимаются человеком. Сложность ручной подготовки, корректировки и сверки больших массивов данных (например, для материально-технического обеспечения или бухгалтерского учета) может значительно превышать программную или временную сложность функционирования программ. Для таких задач может быть велика психологическая сложность анализа и селекции результирующих данных, рассчитанных на ЭВМ.
Потребности в вычислительных ресурсах для систем в 1970-е – 80-е годы росли быстрее, чем реальные характеристики ЭВМ, что обострило проблему реализации и функционирования сложных комплексов программ в условиях ограниченных ресурсов. Одним из важнейших и наиболее общих показателей, характеризующих возможность применения ЭВМ, являлась их производительность. Уже на стадии формулирования исследовательских, информационных или управленческих задач приходилось сопоставлять доступную производительность ЭВМ с необходимыми затратами времени для их решения или с допустимой длительностью ожидания результатов (длительностью отклика). В этом смысле использование ЭВМ являлось их использованием в реальном масштабе времени. Поэтому весьма актуальным для всех типов систем стало исследование эффективного распределения ограниченной производительности ЭВМ для решения групп различных функциональных задач и разработка методов рациональной организации вычислительного процесса в реальном времени.
Проведенные в 70-е годы исследования показали, что на эффективность использования производительности вычислительных систем в наибольшей степени влияли следующие факторы:
• характеристики и параметры потоков сообщений, как от внешних абонентов, так и внутри системы, поступающих для вызова на решение определенных программ;
• характеристики программ и длительности процессов обработки сообщений различных типов и назначения;
• общая загрузка и загрузка вычислительной системы отдельными программными компонентами;
• количество процессоров и структура связей между ними, а также с общей памятью;
• методы распределения ресурсов ЭВМ, их точность и степень учета различных параметров, а также совокупная сложность и необходимая частость корректировки распределений ресурсов;
• затраты на операции распределения ресурсов в ЭВМ и их соотношение с получаемым эффектом от повышения качества распределения.
Проведенные исследования позволили классифицировать и оценить методы распределения вычислительных ресурсов, а также организации вычислительного процесса в зависимости от степени неопределенности априорной информации об основных динамических характеристиках поступления внешних сообщений и их обработки:
• полностью детерминированные, использующие точную априорную информацию о временных характеристиках и потребных ресурсах времени для реализации каждой заявки на обработку информации;
• стохастические, применительно к некоторым типам или группам заявок, когда априорно известны и различимы их статистические характеристики поступления и длительности обработки;
• полностью стохастические, когда неизвестны априорные характеристики поступления и длительности обработки информации, невозможно их классифицировать и разделить на определенные типы.
При анализе распределения ресурсов, определяющими являются не столько отдельные значения интенсивностей поступления заявок и их обслуживания, сколько соотношение этих параметров, которое характеризует загрузку ЭВМ в реальном времени. Когда интенсивность поступления заявок на обработку превышает интенсивность их обслуживания, недостаток времени может приводить к неограниченному накоплению заявок в очереди на обработку. Если не принять мер по прореживанию заявок-сообщений, то они могут переполнять память ЭВМ. В то же время при малых загрузках, ЭВМ используется по производительности нерационально, и можно было бы применить для той же цели более дешевую и менее производительную ЭВМ.
Для сокращения затрат на распределения при частом их проведении исследованы дисциплины оперативной диспетчеризации, которые обеспечивают приоритетные распределения, достаточно близкие к оптимальному. Эти правила основываются на предварительных экспериментальных исследованиях различных методов распределения ресурсов или на аналитических исследованиях некоторых обобщенных моделей. Анализ эффективности дисциплин диспетчеризации с учетом затрат на прерывание обработки и переключение программ показал, что при большой загрузке системы их эффективность весьма чувствительна к затратам на прерывания. При сравнительно небольших затратах на прерывания дисциплины с относительными и абсолютными приоритетами сравнимы по эффективности.
5.2. Характеристики и методы оценки качества компонентов и комплексов программ реального времени – 1975-е годы
В 1970-е годы был предпринят ряд попыток дать количественную оценку понятию качества программного продукта путем разработки ряда показателей, численно характеризующих свойства и требования заказчика, лежащие в основе этого понятия. Широко распространенному в 60-е годы подходу к программам, заключавшемуся в тезисе: «лишь бы программа работала», все более четко противопоставлялся тезис: «с какими характеристиками качества функционирует программа, и при каких затратах достигаются результаты». Стало ясным, что для превращения программирования в современную инженерную дисциплину, разработку программных продуктов следует осуществлять промышленными методами, с обязательным применением различных способов измерения характеристик качества программ, и установлением между ними причинно-следственных связей.

