- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Очерки истории отечественной программной инженерии в 1940-е – 80-е годы - Владимир Липаев
Шрифт:
Интервал:
Закладка:
• применение готовых переносимых программных компонентов;
• уменьшение объемов разрабатываемых комплексов программ.
Выявлено, что наиболее эффективным направлением для улучшения ТЭП разработки программных продуктов являлось применение готовых программных компонентов. Анализ проектов показал, что при заимствовании от 30 до 80 % конечного объема продукта, производительность труда возрастала в диапазоне от 1,6–3,0 раза по сравнению со средней на предприятии. Заимствование 50 % готовых программ (по общему размеру) позволило сократить длительность разработки, в среднем, на 25 %, а при заимствовании в 80 % – в два раза.
5.6. Технико-экономический анализ и обоснование разработки комплексов программ – 1985-е годы
Основная задача состояла в выборе и прогнозировании наиболее адекватных экономических и функциональных критериев для обобщенного описания эффективности, стоимости создания и использования комплексов программ в зависимости от их назначения, области применения и других факторов. Применение программных средств как продукции существенно повысило актуальность технико-экономического обоснования и прогнозирования их характеристик и процессов производства. Основной целью создания многих программных продуктов являлось повышение эффективности научных исследований, производства промышленных продуктов или управления объектами и системами реального времени, в которых применялись крупные комплексы программ. Такими системами могли быть средства автоматизированного управления прокатными станами, самолетами, ракетами, электростанциями, информационно-справочными системами административного управления и т. п. В ряде случаев программные продукты было невозможно или очень трудно характеризовать непосредственной экономической эффективностью. Примером могут служить программные продукты в системах управления воздушным движением или космическими аппаратами, а также в системах оборонного назначения или автоматизации научных экспериментов. В таких случаях при экономическом анализе программ невозможно было определять изменение прямой эффективности систем в зависимости от затрат, и целесообразно было из анализа исключать характеристики полной экономической эффективности и сопутствующие ей функциональные критерии качества [25]. Тогда исследование эффективности программного продукта можно было проводить, минимизируя затраты на разработку, в предположении, что полностью обеспечены заданные функциональные характеристики. При таком анализе должны были учитываться следующие цели [29].
Первая цель состояла в определении реальных затрат на разработку определенных компонентов и программных продуктов в целом, с учетом их сложности и требуемого качества. Для этого должна была изучена существующая практика разработки программ и обобщены ТЭП успешно завершенных проектов. Такие обобщения должны были выявить трудоемкость (стоимость) и производительность труда при разработке реальных программ определенных классов и назначения, а также основные факторы, влияющие на эти показатели при создании конкретных комплексов программ. Кроме того, необходимо было определить длительность всего процесса разработки программ и его отдельных этапов. Для этого должны быть разработаны и внедрены методики сбора первичных техникоэкономических данных и их обработки, по завершенным или находящимся в процессе разработки проектам. В результате могли быть получены опорные значения основных ТЭП создания комплексов программ разных классов.
Вторая цель – создание методов и методик прогнозирования затрат и длительности разработки комплексов программ. Методики должны были учитывать полученные значения ТЭП, основные характеристики создаваемых комплексов программ, а также технологию, оснащенность и организацию их разработки. Получаемые прогнозы должны позволять эффективно планировать разработки, управлять созданием программ и осуществлять проекты в соответствии с заданными требованиями, сроками и затратами на основе анализа аналогов – прототипов.
Третьей целью анализа являлось обоснование и создание методов и средств снижения совокупных затрат и сроков разработки сложных программных продуктов. При этом возникали задачи:
• эффективного распределения общих трудовых ресурсов, используемых при производстве программ;
• развития и повышения экономической эффективности технологий, применяемых для создания программ различных классов;
• рационального повышения комплексной автоматизации технологий разработки программных продуктов;
• выбора методов и инструментальных средств, в наибольшей степени способствующих снижению длительности создания и совокупных затрат на программные продукты, а также повышению их качества.
Четвертой целью технико-экономического исследования процессов разработки программ являлось создание методических и нормативных документов, как основы планирования промышленной разработки аналогичных программных продуктов. Наличие нормативов могло коренным образом изменить характер разработки и приблизить его к отрасли современного регламентированного промышленного проектирования и производства. В результате появлялась возможность управления затратами на разработку, количеством и качеством создаваемых комплексов и их компонентов на различных этапах.
На практике классы систем при анализе обычно имеют ряд близких по значимости целей применения, и соответствующих им характеристик качества. В результате эффективность технологических решений приходится оценивать одновременно по нескольким показателям. Для этого следует стремиться сформулировать обобщенную скалярную функцию эффекта и затрат или строить нормированный вектор показателей качества. Во многих случаях эффективность сложной новой техники и комплексов программ в процессе проектирования приходилось прогнозировать в условиях неопределенности целей, различных факторов и характеристик. Обычно бывали недостаточно известны перспективы внедрения и эксплуатации объектов разработки – новых программных продуктов. Трудно формализуемыми и оцениваемыми являются размеры (масштабы) и структура систем, взаимодействие основных подсистем, цели, функции и критерии оценки эффективности их функционирования. Значительные неопределенности содержались также в технико-экономических характеристиках технологий, а также инструментальных средств автоматизации проектирования и изготовления программ.
Достаточно обычными в 1970-е – 80-е годы стали комплексы программ размером 100 и более тыс. строк текста. Возникла проблема декомпозиции комплексов программ на компоненты меньшего размера и сложности, а также упорядоченного структурно-иерархического построения таких программ. Известные методы снижения суммарной сложности систем путем декомпозиции, структурирования, локализации функций и упрощения компонентов нашли дальнейшее развитие при создании современных методов разработки сложных программных продуктов. Такие сложные программы в разумные сроки (1–5 лет) могли быть созданы только организованными коллективами специалистов под единым руководством. Размеры коллективов разработчиков и их структура в значительной степени диктуются структурой, функциональными задачами и характеристиками комплексов программ. Коллективность разработки привела к необходимости строгого планирования и формализации процесса разработки аналогично процессу проектирования других сложных промышленных изделий.
Программы реального времени обычно длительно функционируют во многих экземплярах системы. Это приводит к необходимости эффективного использования ограниченных вычислительных ресурсов, памяти и производительности реализующих (объектных) ЭВМ для функциональных программ, которые предназначены для решения основных задач по обработке информации или управлению. Включение комплексов программ в контур управления производством или динамическими объектами приводило к необходимости обеспечения ими высокого качества решения задач, безопасности и надежности их функционирования не ниже, чем у аппаратных компонентов соответствующих систем. Поэтому программы должны были тщательно отлаживаться и проходить контрольные испытания для определения уровня отлаженности, безопасности и надежности их функционирования. Отладка программ на технологических ЭВМ позволяла в ряде случаев значительно сокращать сроки разработки и проводить ее независимо от разработки, реализующей ЭВМ, для которой предназначен комплекс программ. Комплексное использование универсальных ЭВМ в качестве технологических и моделирующих позволяло успешно решать задачу создания надежных отлаженных программ для систем реального времени.

