Файл: Основы проектирования программ. Этапы создания программного обеспечения.pdf

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

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

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

Добавлен: 28.04.2023

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

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

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

Введение

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

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

Целью данной курсовой работы является анализ темы - «Основы проектирования программ. Этапы создания программного обеспечения». Процесс разработки программы делится на следующие этапы:

  • Постановка задачи
    • Формулировка и анализ задачи
    • Создание математической модели
    • Создание алгоритма
  • Разработка программы
    • Разработка кода
    • Разработка интерфейса
    • Тестирование программы
    • Отладка программы
  • Работа с готовым продуктом
    • Составление документации

Опишем каждый этап подробно.

Постановка задачи

Формулировка и анализ задачи

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

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

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

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

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


Формулировка задачи и ее анализ дают ясность программисту, какие задачи ему необходимо выполнить и с какими проблемами столкнуться.

Создание математической модели

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

Построение математической модели осуществляется по следующим этапам:

  1. Постановка проблемы;
  2. Постановка целей и задач моделирования;
  3. Выбор математического аппарата;
  4. Проведение расчетов;
  5. Исправление модели, если необходимо;
  6. Анализ полученных результатов.

Верно составленная математическая модель должна удовлетворять следующим требованиям:

  1. Адекватность

Модель должна отображать верно отображать характеристики объекта, не превышая заданных погрешностей;

  1. Точность

Свойства, полученные с помощью математической модели, должны совпадать с свойствами реального объекта;

  1. Универсальность

Свойства модели должно полностью отображать свойства реального объекта;

  1. Экономичность

Разработанная математическая модель не должна быть слишком ресурсозатратной.

Выделяют следующие типы задач, встречающиеся при моделировании:

  • Задачи белого ящика (функция моделирования известна)
    • Прямая задача – при известных входных данных и функции моделирования, найти выходные данные;
    • Обратная задач – при известных входных данных и функции моделирования, найти входные данные;
  • Задачи черного ящика (функция моделирования неизвестна)
    • Задача настройки модели – при известных входных и выходных данных найти функцию моделирования.

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

Создание алгоритма

Алгоритм представляет собой скелет программы, который затем обтягивают программным кодом.

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


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

Алгоритм имеет следующие свойства:

  1. Прерывность

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

  1. Определенность

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

  1. Конечность

Алгоритм должен быть конечным, то есть иметь завершение выполнения действий;

  1. Массовость

Возможность использование алгоритма для решение подобной задач, отличающихся только входными данными;

  1. Результативность

Алгоритм должен достигать результата за определенное количество действий.

Алгоритмы бывают нескольких видов:

  • Линейный – действия выполняются без повторений, в заданном порядке;
  • Разветвляющийся – в зависимости от условия может выполняться либо одно действе, либо другое;
  • Циклический – действия выполняются повторно определенное количество раз, или пока условие не будет удовлетворено.

Для описания алгоритма используют:

  • Естественный язык (руководство по эксплуатации, рецепты);
  • Специальные языки программирования для формальных исполнителей;
  • Блок – схема.

Блок – схема является вторым по популярности способом описания алгоритма, после естественного языка. Обозначения, используемые при построении блок – схемы представлены в таблице 1.

Условно-графическое обозначение

Выполняемая функция

Комментарий

Начало и конец алгоритма

Такая вершина с соответствующей надписью «начало» или «конец» начинает и заканчивает ГСА

Основная

операторная

вершина

В этой вершине в словесной форме или в виде выражения записываются вычислительные действия алгоритма

Комментарий

В этой вершине указываются надписи, выводимые на экран либо данные, выводимые на другое устройство

Основная вершина

условного перехода

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

Вершина

множественного условного перехода

типа «case»

В этой вершине указываются значения переменной и задаются направления выхода из вершины в зависимости от них

Вершина цикла

В этой вершине указывается начальное и конечное значения оператора цикла, а также шаг счёта


Таблица 1. Основные обозначения, используемые

при построении блок – схем

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

Разработка программы

Разработка кода

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

Для разработки кода используются языки программирования. Выделяют языки высокого и низкого уровней.

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

Для решения данной проблемы были разработаны языки высокого уровня. Главной особенностью таких языков является использование различных синтаксических конструкций, которые описывают массивы данных и функций над ними, короткими командами, а не большим количеством строк кода, как это было бы при использовании языков низкого уровня. К тому же данный код проще для чтения и понимания, по сравнению с машинным. Примерами языков высокого уровня служат C, C++, C#, Java, JavaScript, Pascal, Delphi и др.

Еще одной классификацией языков программирования является способ их реализации. Выделяют три способа:

  1. Компиляция;
  2. Интерпретация;
  3. Встраивание.

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

Программы, написанные на интерпретируемых языках, не могут использоваться без специального интерпретатора. Примером таких языков служат PHP, Python, Perl и др.

Встраиваемые языки являются составляющей какого-то другого языка, и могут использоваться только совместно с этим языком. Таким языком является, например, Lua.

Для написания кода могут использоваться различные текстовые редакторы, начиная от обычного блокнота и заканчивая специализированными интегрированными средами разработки (IDE).


IDE представляет собой комплекс программных средств. Данный комплекс включает в себя:

  • Текстовый редактор;
  • Средства для реализации программного кода;
  • Отладчик.

Данный комплекс дает возможность программисту максимально ускорить составление программного кода и его реализацию. Все действия совершаются в рамках одной программы, что исключает необходимость переноса кода. Большинство IDE автоматически генерируют код и дают подсказки программисту по его составлению, выдавая варианты команд и подсвечивая ошибки.

Написание кода осуществляется только после построения алгоритма программы. Если считать алгоритм скелетом программы, то код — это мышцы и кожа программы.

Разработка интерфейса

Каждая программа, не важно на сколько она является примитивной, должна иметь свой интерфейс, представляющий собой некоторый «рычаг» управления пользователя программой.

Общие принципы построения интерфейсов:

  • Интерфейс должен быть понятным, чтобы пользователь программы сразу понимал, что нужно делать, а не копался в документации или инструкциях;
  • Для упрощения работы с программой необходимо наличие подсказок. Также в интерфейс должна быть включена полная справка, в качестве отдельного элемента;
  • Основным правилом при разработке интерфейсов является «существительное – глагол». Пользователям проще сначала выбрать какой – либо объект, а затем действие над ним. Например, «статья – создать»;

Началом разработки интерфейса является определение задачи, которые выполняются данным продуктом. При разработке придерживаются следующих правил:

  1. Нельзя усложнять интерфейсы. Первоочередной задачей является его упрощение;
  2. Интерфейс разрабатывается для пользователя, следовательно, он должен удовлетворять его потребностям. Необходимо постоянно рассматривать интерфейс с точки зрения пользователя, представлять с какими проблемами он может столкнуться;
  3. Интерфейс нужно разрабатывать так, чтобы пользователь совершал минимальное количество действий для достижения своей цели.
  4. При обновлении интерфейса, не следует менять его привычные элементы на новые.

На восприятия человеком интерфейса влияет много факторов:

  1. Цвета.

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