Лекция 1. Основные понятия технологии разработки программного обеспечения
В 1947 году в Лондоне представители 25 стран создали международную организацию, основной задачей которой является координация разработок и унификация международных стандартов. Организация получила название International Organization for Standardization (ISO). В настоящее время ее членами являются около 100 стран. Сегодня стандартами ISO "перекрыты" многие технологические отрасли – от программирования и телекоммуникаций до банковской и финансовой сферы.
В качестве определений основных понятий технологии разработки программного обеспечения (ПО) будем использовать определения, разработанные в рамках Международных стандартов ISO, а также в нормативных документах, разработанных и принятых Госстандартом России.
Программные продукты (изделия)
Международный стандарт ISO / IEC 14598-1-6:1998-2001 «Software engineering — Product evaluation» даёт следующее определение термину программный продукт: «Программный продукт (ПП) — множество компьютерных программ, процедур вместе с соответствующей документацией и данными».
Понятие «компьютерная программа» в стандарте не раскрывается, однако, определение может быть найдено в ГОСТ 19781-90 (изменен: 06.10.2009) «Обеспечение систем обработки информации программное. Термины и определения»: «Программа — данные, предназначенные для управления конкретными компонентами системы обработки информации в целях реализации определенного алгоритма».
Программное обеспечение (ПО)- согласно ГОСТ 19781-90 - совокупность программ системы обработки информации и программных документов, необходимых для их эксплуатации.
По видам выполняемых функций программное обеспечение подразделяется на системное, прикладное и инструментальное.
Понятие «программный продукт» (ПП) можно рассматривать как эволюцию понятия «компьютерная программа». Исторически сложилось, что компьютерные программы являются предшественниками современного понимания программных продуктов. Понятие «компьютерная программа» традиционно обсуждалось в контексте другого понятия ‑ автоматизированная система (АС).
С появлением Интернет, а также с ростом популярности информационных технологий, компьютерные программы «вырвались» из границ АС и сформировали новый класс объектов информатики, который принято сейчас называть программными продуктами.
Программный продукт обладает как свойствами данных (ведь любую компьютерную программу можно представить как набор данных, или исполняемых библиотек), так и свойствами АС, так как программа способна выполнять различные, заложенные в неё функции.
Программный продукт можно рассматривать как:
логически связанную совокупность программ, записанную на носителях данных;
продукт промышленного производства, обязательно снабженный программной документацией.
Программный продукт предназначается для широкого распространения посредством продажи или методами freeware, shareware или OEM. Где freeware бесплатное, свободно распространяемое программное обеспечение, которое пользователь поддерживает самостоятельно, и в которые пользователь правомочен вносить изменения. Shareware условно-бесплатное программное обеспечение, свободно распространяемое среди пользователей, часто имеющие неполную функциональность, при этом пользователь имеет возможность переслать автору гонорар и получить полную версию программного обеспечения. OEM (от англ.Original Equipment Manufacturer встроенная программа) - программа, устанавливаемая на компьютеры или поставляемая вместе с компьютерами.
У программного продукта можно отметить следующие особенности:
лёгкость, простота копирования и тиражирования как самого ПП, так и его составных частей;
популярность и распространённость ПП и их копий по всему миру носит массовый характер, что определяет актуальность вопросов обеспечения безопасности и защищённости ПП;
наиболее распространённая практика доступа к ПП — публикация в сети Интернет, а также свободное распространение ПП по файлообменным сетям;
лёгкость модификации ПП — возможность использовать ПП, как основу для распространения вирусов;
богатство выбора инструментариев для разработки ПП (отладчики, редакторы ресурсов и т.д.);
доступность баз данных и вариантов их эксплуатации для наиболее популярных ПП.
