Лекция 7. Этапы создания программного продукта. Специалисты, занятые разработкой и эксплуатацией программ
Возможности компьютера как технической основы системы обработки данных зависят от используемого программного обеспечения - программ. Рассмотрим основные понятия и технологию разработки программных продуктов.
Программа (program, routine) – упорядоченная последовательность команд (инструкций) компьютера для решения задачи. Программы предназначены для машинной реализации задач.
Программное обеспечение (software) – совокупность программ обработки данных и необходимых для их эксплуатации документов.
Задача (problem, task) – проблема, подлежащая решению.
Приложение (application) – программная реализация решения задачи на компьютере. Приложение, являясь синонимом слова «программа», считается более удачным термином и широко используется в информатике.
Таким образом, с помощью компьютера мы стремимся реализовать стоящую перед нами задачу (проблему), используя для этого информационные технологии в виде приложений.
Термин задача употребляется также в сфере мультипрограммирования (одновременного выполнения нескольких задач) и мультипроцессорной обработки (если в ЭВМ имеется несколько процессоров) как единица работы вычислительной системы. В этом случае задача определяет требующиеся вычислительные ресурсы (процессорное время, основная память и т.п.). Но в данной лекции второй смысл термина задача мы затрагивать не будем.
Существует большое разнообразие классификаций задач. С позиций специфики разработки, а также видов программного обеспечения будем различать 2 класса задач – технологические и функциональные.
Технологические задачи ставятся при организации технологического процесса обработки информации на компьютере. Они являются основой для разработки сервисных средств программного обеспечения в виде утилит, сервисных программ, библиотек процедур и др., применяемых для обеспечения работоспособности компьютера, а также разработки других программ.
Функциональные задачи требуют решения при реализации функций управления, например, при управлении деятельностью торгового предприятия, планировании выпуска продукции, управлении перевозкой грузов и т.д. Функциональные задачи в совокупности образуют предметную область и полностью определяют ее специфику.
Предметная (прикладная) область (application domain) – совокупность связанных между собой функций, задач управления, с помощью которых достигается выполнение поставленных целей.
Процесс создания программы
Процесс создания программ можно показать как последовательность действий, представленных на рис. 7.1.
Постановка задачи (problem definition) - это точная формулировка результата решения задачи на компьютере с описанием входной и выходной информации.
Постановка задачи – обобщенный термин, который означает определенность содержательной стороны обработки данных. Постановка задачи связана с конкретизацией структуры входной и выходной информации, а также основных параметров её реализации.
В процессе формализованной постановки функциональных задач уточняются основные характеристики:
· цель и назначение задачи, ее место и связи с другими задачами;
· условия решения задачи с использованием средств вычислительной техники;
· содержание функций обработки входной информации при решении задачи;
· требования к периодичности решения задачи;
· ограничения по срокам и точности выходной информации;
· состав и форма представления выходной информации;
· источники входной информации для решения задачи;
· пользователи задачи (кто осуществляет ее решение и пользуется результатами ее решения).
Входная информация определяется совокупностью данных, поступающих на вход задачи и используемых для ее решения. Входной информацией служат первичные данные документов ручного заполнения, информация, хранимая в файлах базы данных (результаты решения других задач, нормативно-справочная информация – классификаторы, кодификаторы, справочники), входные сигналы датчиков (рис. 7.2).
Выходная информация по задаче может быть представлена в виде документов (типа распечатки отчётов, заполненных форм), сформированных кадров (видеограммы на экране монитора), файла базы данных, выходного сигнала для дальнейшего использования в устройстве управления.
Обычно постановку задач выполняют в едином комплексе работ по автоматизации управления в рамках предметной области, т.е. создают структуру базы данных, проектируют формы и маршруты движения документов, вносят изменения в организационные вопросы.
Алгоритм и его свойства
Алгоритм – это система точно сформулированных правил, определяющая процесс преобразования допустимых исходных данных (входной информации) в желаемый результат (выходную информацию) за конечное число шагов.
Алгоритм решения задачи имеет ряд обязательных свойств.
· Дискретность – разбиение процесса обработки информации на более простые этапы (шаги выполнения), выполнение которых компьютером или человеком не вызывает затруднений.
· Определенность (детерминированность) алгоритма – однозначность выполнения каждого отдельного шага преобразования информации. Эта характеристика обеспечивает однозначность результата обработки при заданных исходных данных.
· Результативность – конечность действий алгоритма решения задач, позволяющая получить желаемый результат при допустимых исходных данных за конечное число шагов.
· Массовость – пригодность алгоритма для решения определенного класса задач.
В алгоритме отражаются логика и способ формирования результатов решения с указанием необходимых расчетных формул, логических условий, соотношений для контроля достоверности выходных результатов. В алгоритме обязательно должны быть предусмотрены все ситуации, которые могут возникнуть в процессе решения комплекса задач.