Программное обеспечение (ПО) состоит из нескольких совместно работающих программ (программных модулей), объединенных в программный комплекс (ПК), и документов, необходимых для разработки, сопровождения и эксплуатации ПК, а также ряда других документов. В простейшем случае ПК включает в себя только одну программу, но второй компонент ПО – документы, должны присутствовать всегда.
Программа (программный модуль) – это упорядоченная последовательность команд или операторов, которые после ввода в ОЗУ позволяют обработать входные данные и выдать результаты.
Проектирование и последующая поддержка ПО включает ряд этапов (рис. 7), которые в совокупности называютсяжизненным циклом программного продукта.
1) На первом этапе (10 %) создается математическая и логическая модели исследуемого явления. Характеристики и особенности модели отражаются в спецификации (формализованное описание свойств, характеристик и функций объекта). Она включает название задачи,программы, систему программирования, тип ПК, подробную постановку задачи, описание математической модели, метода обработки данных и т.д.
Выполняемые функции предусматривают:
― Управление режимами работы (формулировка требований к способу взаимодействия пользователя с программой: интерфейсу «пользователь – компьютер»). Интерфейс пользователя– комплекс программных средств, обеспечивающий взаимодействие пользователя с системой.
― Требования к входным данным (форма, пределы изменения).
― Вид выходных данных(числовой, графический, сообщения).
― Способы диагностики и защиты от ошибок на этапе проектирования.
― Особые ситуации. Краткая документация.
2) При проектированиипрограммного средства(10%)формируется общая структура программного комплекса (ПК разбивается на части – программные модули). При этом используются сновные методы проектирования: «снизу вверх» и «сверху вниз». Для каждого модуля формируются требования по функциям и разрабатываются алгоритмы. Определятся схема взаимодействия программных модулей (потоков данных). Доказывается правильность проекта и алгоритмов или методов.
Рис. 7. Диаграмма этапов разработки программного обеспечения
3) Кодирование (10 %)заключается в переводе алгоритмов для каждого программного модуля в программы на конкретном языке программирования (с обоснованием выбора языка).
4) Отладка и тестирование (20 %)направлены на устранение следующих ошибок:
– допущенных при разработке и не обнаруженных при тестировании (к ним относятся неправильная постановка задачи; неверный алгоритм; семантические, синтаксические ошибки; ошибки стадии выполнения; ошибки в данных и в документах);
– при вводе в компьютер неверных данных;
– компьютерных вирусов;
– сбоев оборудования;
– «злой воли человека», когда программист специально может внести ошибку в программный комплекс, включить «логическую бомбу», срабатывающую после определенного числа запусков.
Отладка –поиск и исправление ошибок. Для выявления «скрытых» ошибок производится тестирование. Тестирование различают автономное (тестируются отдельные программные модули) и комплексное (проверка всего программного комплекса).
После того как тестированием обнаружена ошибка, она исправляется, и продолжается процесс отладки. Отладка и тестирование чередуются, пока в ПК не будут найдены и ликвидированы все ошибки.
5) На этапе сопровождения(50 %)и эксплуатациипроизводится добавление новых функций в ПК, устранение ошибок, обнаруженных в процессе эксплуатации, тиражирование программного продукта.
6) Документация разрабатывается с момента начала разработки ПО. Она делится на группу документов для разработчиков и специалистов, которые будут сопровождать ПК; и для пользователей ПО. Первая группа документов включает:
– техническое задание (задание на разработку) и спецификацию;
– схему разбиения ПК на программные модули;
– схему потоков данных;
– схему взаимодействия программных модулей;
– схемы алгоритмов и исходные тесты программ с комментариями;
– планы и данные для тестирования ПК;
– другие материалы, иллюстрирующие проект (структуру ПК и модулей).
Второй вид документов содержит информацию, необходимую для работы с программным комплексом. Эти документы могут оформляться в печатном виде или встраиваться в ПК или программу помощь в виде подсказки.