Файл: Алгоритмизация как обязательный этап разработки компьютерной программы..pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 16.05.2023

Просмотров: 140

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Средства автоматизированного тестирования программ – программные модули, позволяющие создавать автоматизированные тесты с минимальным участием человека и в автоматизированном режиме выдавать на вход тестовые последовательности, отслеживать реакцию работы тестируемой программы. Как правило, такие средства тестируют программы на быстродействие, надежность при больших потоках данных, – это так называемое «нагрузочное тестирование». Например, проверка программ при большом сетевом трафике и т.п. Но существуют средства по проверке функциональных возможностей, например инструменты, предназначенные для проверки соответствия приложения предъявляемым бизнес-требованиям. 

Системы автоматизации программирования (Computer-Aided System Engineering, CASE) – программный комплекс, автоматизирующий весь технологический процесс анализа, проектирования, разработки, кодирования, отладки и сопровождения сложных программных систем. Основное достоинство CASE-технологии – это поддержка коллективной работы над проектом за счет возможности работы в локальной и глобальной сети разработчиков, экспорта(импорта) любых фрагментов проекта, организованного управления программами. Как правило, CASE-системы поддерживают автоматическую код генерацию программ – создание каркаса программой системы и создание полного продукта с системной документацией.

  1. Прикладные программы.

Прикладные программы - это такие программы, предназначение которых направлено на решение определенных задач и непосредственно взаимодействуют с пользователем. Компьютерные программы необходимы для автоматизации каких-либо процессов, хранения и обработки данных, моделирование, проектирование и т.п. сложных вычислительных процессов. Программы обычно разделяют на два класса: это системные программы и прикладные программы. Первые в основном используются для обработки поступающей информации с какого-нибудь оборудования: сетевой карты, видеокарты, подключенного оборудования, т.е. это те программы, которые взаимодействуют с "железом" или внешними устройствами. О них мы расскажем в следующих статьях. А вот о вторых – прикладных программах, поговорим более подробно.

Прикладные программы предназначены для взаимодействия с конечным пользователем, т.е. пользователь как бы взаимодействует сам с собой, но только через программу, вводит какие-либо данные на входе и получает определенный результат обработанных данных на выходе. Это своего рода решение определенной прикладной задачи, например, это сканирование изображений и последующая их обработка или поиск нужных файлов. Использование прикладных программ можно наблюдать практически во всех сферах деятельности человека, будь это ведение бухгалтерского учета на предприятии или создание графических изображений, рисование и т.п. Так же использование прикладных программ присутствует в таких очень важных системах как системы управления базами данных. Это очень актуально на больших предприятиях, где работает большое количество пользователей и которым очень нужно хранить и использовать большие объемы информации.


Основными видами прикладных программ являются:

  • Текстовые редакторы - предназначены для создания и редактирования текста без оформления;
  • Текстовые процессоры (MS Word) -более продвинутые текстовые редакторы, позволяющие редактировать текст с оформлением, изменением шрифтов и его размеров, вставки графических файлов, таблиц и т.п. для более презентабельного оформления текста;
  • Электронные таблицы (MS Excell) -в основном используются для обработки каких-либо данных, содержащихся в этих таблицах. Прикладные задачи чаще всего выполняются для хранения учетных данных с последующим их анализом;
  • Растровые и векторные графические редакторы (Photoshop, Corel), "просмотрщики". Использование прикладных программ такого типа позволяет создавать, редактировать, а так же просматривать графические изображения;
  • Аудио видео плееры, редакторы (WinAmp) -позволяют просматривать видео, слушать музыку, создавать музыкальные композиции;
  • Системы управления базами данных (например - MSQL). Такие программы служат для работы с базами данных. Например,  простая база для хранения сведения о клиентах, их контактные данные и т.п. Можно проводить операции по поиску, удалению и добавлению записей в базу;
  • Переводчики или электронные словари. Такие прикладные программы позволяют без особых усилий переводить текст на разные иностранные языки без их непосредственного изучения;
  • Компьютерные игры. Используются для развлечений или для развития в игровой форме.

Этапы разработки программ.

Существуют различные подходы и технологии разработки алгоритмов и программ. Приведем основные этапы разработки программы:

  • постановка задачи;
  • проектирование программы
  • построение модели
  • разработка алгоритма;
  • написание программы;
  • отладка программы;
  • тестирование программы;
  • документирование.

Для разработки программы первоначально необходимо поставить задачу, которую данная программа должна решить и для которой данная задача создается. На этапе постановки задачи выясняется конечная цель и вырабатывается общий подход к решению задачи. На данном этапе прорабатывается количество решений, которое имеет данная задача или выясняется что при данных условиях решения нет. Для рассмотрения закономерности между условиями необходимо изучить основные свойства, которыми обладает данное физическое явление или объект изучения. И наконец, на этапе постановки задач необходимо проанализировать возможности конкретной системы программирования. Чтобы данный этап был наиболее успешным необходимо собрать как можно больше информации о данной задаче, об ключевых объектах и взаимосвязях между ними. Собрав необходимые данные переходят ко второму этапу проектирования программы.


На этапе проектирования программы происходит ''архитектурная'' проработка проекта. Данная проработка включает себя выделение частей алгоритма, которые в дальнейшем будут оформлены в виде модулей и подпрограмм. На данном этапе так же необходимо выбрать каким именно способом будет осуществляться хранение информации. Исходя из целесообразности выбирают будет ли данная информация представлена в виде набора простых переменных, массивов или других структур. Существует разнообразные методы для проектирования программы. На современном этапе используется метод, который основан на декомпозиции, которая, в свою очередь, основана на использовании абстракции. Целью при декомпозиции является создание модулей, которые взаимодействуют друг с другом по определенным и простым правилам. Декомпозиция используется для разбиения программы на компоненты, которые затем могут быть объединены.

Следующим этапом является моделирование процессов. Моделирование - это исследование явлений, процессов или систем объектов путем построения и изучения их моделей. Для решения поставленной задачи на этапе моделирования определяются исходные данные и результат, выявляются ограничения на их значения, выполняется формализованное описание задачи. Данный этап характеризуется выбором и построением математической модели, которая будет наиболее эффективна при решении данной задачи на компьютере.

После написания алгоритма для конкретной задачи, происходит этап записи данного алгоритма на языке программирования. Современные системы программирования позволяют ускорить процесс разработки программы, автоматически создавая часть ее текста, однако творческая работа по-прежнему лежит на программисте.

Следующим необходимым этапом является отладка программы. Суть данного этапа заключается в обнаружении и исправлении ошибок. Выделяют два вида программных ошибок: синтаксические (синтаксис языка программирования) и алгоритмические (логические). Синтаксические ошибки выявляются в процессе компилировании программы – это наиболее простые с точки зрения исправления ошибки. Алгоритмические ошибки программы выявить гораздо труднее: программа работает, а результат выдает неправильный. Для обнаружения ошибок этого класса требуется этап тестирования программы. Тестирование должно охватывать все возможные ветвления в программе, т. е. проверять все ее инструкции, и включать такие исходные данные, для которых решение невозможно. Проверка особых, исключительных ситуаций, необходима для анализа корректности.


Последним этапом разработки программы является документирование. Оно включает широкий спектр описаний, облегчающих процесс программирования и обогащающих результирующую программу. Постоянное документирование должно составлять неотъемлемую часть каждого шага программирования. Постановка задачи, проектные документы, алгоритмы и программы - все это документы. Внутренняя документация, включенная непосредственно в программу, облегчает чтение кода. При разработке программы создается большой объем разнообразной документации. Она необходима как средство передачи информации между разработчиками программы, как средство управления разработкой программ.

Кратко описав основные этапы разработки программ, я пропустил наиболее сложный и трудоемкий этап – разработка алгоритма. Алгоритмом называется конечный набор правил, расположенных в определенном логическом порядке, позволяющий исполнителю решать любую конкретную задачу, а составление пошагового описания процесса решения задачи называется алгоритмизацией.

Таким образом я пришел к выводу что программа – это завершенный продукт, включающий в себя множество этапов разработки, главным из которых является алгоритмизация.

Заключение

Алгоритм это – точное предписание, определяющее вычислительный процесс, ведущий от варьируемых начальных данных к искомому результату. Алгоритмизация – это процесс составления алгоритмов. К свойствам алгоритмов относятся:

  • дискретность
  • определенность
  • массовость
  • результативность (конечность).

На практике используются следующие формы представления алгоритмов: словесное описание, псевдокод, блок-схема, программа.

Компьютерная программа представляет собой совокупность задач, которые выполняются последовательно, по порядку вычислительной техникой. Основными типами программ являются: системные, прикладные, обучающие, инструментальные. Этапами разработки программ являются: постановка задачи, проектирование программы, построение модели, разработка алгоритма, написание программы, отладка программы, тестирование программы, документирование.

Программирование это сложный, но творческий процесс в котором этап алгоритмизации является обязательным и наиболее важным, и в основе эффективной работы конечного продукта лежит грамотно составленный алгоритм.