Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
МОДУЛЬ 2.6.02 Этапы решения задач на компьютерах
знать: основные этапы создания программных продуктов. Основные принципы формализации задач, алгоритмизации и программирования, назначение интегрированных сред программирования, технологию создание программ, методы отладки и тестирования.
уметь: выделять основные этапы создания программных продуктов, формализовать задачу для ее решения на компьютере, разрабатывать блок-схемы, составлять программы на языке высокого уровня
Решение любой задачи с использованием ПК состоит из нескольких взаимосвязанных этапов, среди которых чаще всего выделяют следующие:
Последовательное выполнение перечисленных этапов составляет полный цикл разработки, отладки и счета программы (Приведенное разделение является условным). Весь период разработки и эксплуатации программного средства (ПС) называют жизненным циклом ПС.
Рассмотрим более подробно некоторые наиболее общие и необходимые этапы.
Постановка задачи
При постановке задачи первостепенное внимание должно быть уделено выяснению конечной цели и выработке общего подхода к исследуемой проблеме: выяснению, существует ли решение поставленной задачи и единственно ли оно; анализу возможностей конкретной ЭМ и данной системы программирования. На этом этапе требуется глубокое понимание существа поставленной задачи. Правильно сформулировать задачу иногда не менее сложно, чем ее решить.
Формализация
Формализация, как правило, сводится к построению математической модели рассматриваемого явления, когда в результате анализа существа задачи определяются объем и специфика исходных данных, вводится система условных обозначений, устанавливается принадлежность решаемой задачи к одному из известных классов задач и выбирается соответствующий математический аппарат. При этом нужно уметь сформулировать на языке математики конкретные задачи физики, механики, экономики, технологии и т.д.
Выбор метода решения
После того как определена математическая формулировка задачи, надо выбрать метод ее решения. Применение любого метода приводит к построению ряда формул и к формулировке правил, определяющих связи между этими формулами. Все это разбивается на отдельные действия так, чтобы вычислительный процесс мог быть выполнен машиной. При выборе метода надо учитывать, во-первых, сложность формул и соотношений, связанных с тем или иным численным методом, во-вторых, необходимую точность вычислений и характеристики самого метода.
Разработка алгоритма
Данный этап заключается в разложении вычислительного процесса на возможные составные части, установлении порядка их следования, описании содержания каждой такой части в той ли иной форме и последующей проверке, которая должна показать, обеспечивается ли реализация выбранного метода.
В процессе разработки алгоритма могут использоваться различные способы его описания, отличающиеся по простоте, наглядности, компактности, степени формализации, ориентации на машинную реализацию.
В практике программирования наибольшее распространение получили:
Составление программы
Представление алгоритма в форме, допускающей ввод в машину и последующий перевод на машинный язык, относиться к этапу программирования (кодирования), т.е. разработанный алгоритм задачи необходимо изложить на языке, который будет понятен ЭВМ непосредственно или после предварительного машинного перевода. От выбора языка программирования зависит процесс отладки программы, во время которого программа принимает окончательный вид.
Отладка программы
Отладка начинается с того, что программа, аккуратно записанная на бланке, проверяется непосредственно лицом, осуществившим подготовку и программирование задачи. Выясняется правильность написания программы, выявляются смысловые и синтаксические ошибки и пр. Затем программа вводится в память ЭВМ и ошибки, оставшиеся незамеченными, выявляются уже непосредственно с помощью машины.
Для некоторых сложных по структуре программ процесс отладки может потребовать значительно больше машинного времени, чем соответственно решение на ЭВМ, так как плохо спланированные процессы алгоритмизации, программирования и отладки приводят к ошибкам, которые могут быть обнаружены лишь после многократных проверок.
Тестирование программы
Когда программа закончена она поступает к тестерам, которые начинают проверять ее на наличие ошибок о сообщать о найденных ошибках программистам. Отладка это деятельность, направленная на обнаружение и исправление ошибок в программном продукте (ПП) с использованием процессов выполнения его программ. Тестирование программного продукта - это процесс выполнения его программ на некотором наборе данных, для которого заранее известен результат применения или известны правила поведения этих программ. Указанный набор данных называется тестовым или просто тестом. Таким образом, отладку можно представить в виде многократного повторения трех процессов: тестирования, в результате которого может быть констатировано наличие в ПП ошибки, поиска места ошибки в программах и документации ПП и редактирования программ и документации с целью устранения обнаруженной ошибки. Другими словами:
Отладка = Тестирование + Поиск ошибок + Редактирование.
В зарубежной литературе отладку часто понимают только как процесс поиска и исправления ошибок (без тестирования), факт наличия которых устанавливается при тестировании. Иногда тестирование и отладку считают синонимами. В нашей стране в понятие отладки обычно включают и тестирование, поэтому мы будем следовать сложившейся традиции.
Уровни тестирования
Модульное тестирование (юнит-тестирование) тестируется минимально возможный для тестирования компонент, например, отдельный класс или функция.
Интеграционное тестирование проверяет, есть ли какие-либо проблемы в интерфейсах и взаимодействии между интегрируемыми компонентами например, не передается информация, передается некорректная информация.
Системное тестирование тестируется интегрированная система на её соответствие исходным требованиям
Тестирование «белого ящика» и «черного ящика». В терминологии профессионалов тестирования (программного и некоторого аппаратного обеспечения), фразы «тестирование белого ящика» и «тестирование черного ящика» относятся к тому, имеет ли разработчик тестов доступ к исходному коду тестируемого ПО, или же тестирование выполняется через пользовательский интерфейс либо прикладной программный интерфейс, предоставленный тестируемым модулем.
При тестировании белого ящика (прозрачного ящика), разработчик теста имеет доступ к исходному коду и может писать код, который связан с библиотеками тестируемого ПО. Это типично для юнит-тестирования, при котором тестируются только отдельные части системы. Оно обеспечивает то, что компоненты конструкции работоспособны и устойчивы, до определенной степени.
При тестировании чёрного ящика, тестировщик имеет доступ к ПО только через те же интерфейсы, что и заказчик или пользователь, либо через внешние интерфейсы, позволяющие другому компьютеру либо другому процессу подключиться к системе для тестирования. Например, тестирующий модуль может виртуально нажимать клавиши или кнопки мыши в тестируемой программе с помощью механизма взаимодействия процессов, с уверенностью в том, что эти события вызывают тот же отклик, что и реальные нажатия клавиш и кнопок мыши.
Если «альфа-» и «бета-тестирование» относятся к стадиям до выпуска продукта (а также, неявно, к объему тестирующего сообщества и ограничениям на методы тестирования), тестирование «белого ящика» и «черного ящика» имеет отношение к способам, которыми тестировщик достигает цели.
Контроль качества
Чем крупнее проект, тем больше в нем ошибок. При этом слишком затягивать этап тестирования нельзя нарушаются сроки, растет недовольство потребителей, и на рынок выпускается «сырая» система с множеством ошибок, которые устраняются уже в процессе эксплуатации выпуском многочисленных «заплаток».
Качество программного продукта это совокупность его черт и характеристик, которые влияют на его способность удовлетворять заданные потребности пользователей.
В настоящее время критериями качества ПС принято считать:
Функциональность характеризуется:
Надежность характеризуется:
Эффективность характеризуется:
Применимость характеризуется:
Сопровождаемость характеризуется:
Мобильность характеризуется:
Функциональность и надежность являются обязательными критериями качества, причем обеспечение надежности будет красной нитью проходить по всем этапам и процессам разработки ПП. Остальные критерии используются в зависимости от потребностей пользователей в соответствии с требованиями к программным средствам.
Вычисления и обработка результатов
Только после того как появиться полная уверенность, что программа обеспечивает получение правильных результатов, можно приступать непосредственно к расчетам по программе.
После завершения расчетов наступает этап использования результатов вычислений в практической деятельности или этап внедрения результатов.