ЯЗЫКИ И МЕТОДЫ ПРОГРАММИРОВАНИЯ Этапы разработки программного продукта.

Презентация:



Advertisements
Похожие презентации
1 Тема 1.7. Алгоритмизация и программирование Информатика.
Advertisements

Этапы решения задач на компьютере.
Алгоритмизация и требования к алгоритму Алгоритм и алгоритмизация Алгоритм и алгоритмизация.
ОБЩИЕ СВЕДЕНИЯ ОБ АЛГОРИТМАХ Линейный алгоритм. ВОПРОСЫ. 1. Алгоритм. Исполнители алгоритмов. 2. Свойства алгоритмов. 3. Способы описания алгоритмов.
Алгоритмы Алгоритм Алгоритм – это система последовательных команд понятных исполнителю, описывающая процесс преобразования объекта из начального состояния.
1 1. Постановка задачи формулировка условия задачи; определение конечных целей решения задачи; определение формы выдачи результатов; описание данных (их.
ОСНОВЫ АЛГОРИТМИЗАЦИИ И ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ СВОЙСТВА АЛГОРИТМА И ЕГО ИСПОЛНИТЕЛИ.
Этапы решения задач на компьютере 1. Постановка задачи. 2. Построение математической модели. 3. Составление алгоритма. 4. Запись алгоритма на языке программирования(кодирование)
Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 7.
Этапы решения задач на компьютерах Постановка задачи Формальное построение модели задачи Формальное построение модели задачи Построение математической.
Методика изучения темы «Алгоритмизация и программирование». Понятие, свойства и способы представления алгоритма. Алгоритмы на величинах и на учебных исполнителях.
АЛГОРИТМИКА © МОУ СШ Изначально компьютеры были созданы для арифметических вычислений. Но сегодня ЭВМ также используются для изучения явлений природы,
АЛГОРИТМ (интуитивное понятие алгоритма) - строгая и четкая конечная система правил, которая определяет последовательность действий над некоторыми объектами.
ВЫПОЛНЕНИЕ АЛГОРИТМОВ КОМПЬЮТЕРОМ. Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой. Программа данные, предназначенные.
Алгоритм - точная конечная последовательность действий, описывающая процесс преобразования объекта из начального состояния в конечное, записанная с помощью.
:14:49(C) KaravaevaEL, 2008 Алгоритмизация Автор – Караваева Е.Л.
Системы программирования Средства создания программ Интегрированные системы программированияИнтегрированные системы программирования Среды быстрого проектирования.
Даутова Т.К., Алматы, 2013г.. П редписание исполнителю называется командой. Каждый исполнитель имеет свою систему команд, то есть множество предписаний,
Системы программирования Системы программирования обеспечивают создания новых программ для компьютера. Современные системы программирования обычно представляют.
Алгоритм - понятное и точное предписание совершить определенную последовательность действий, направленных на достижение указанной цели или решение поставленной.
Транксрипт:

ЯЗЫКИ И МЕТОДЫ ПРОГРАММИРОВАНИЯ Этапы разработки программного продукта

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

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

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

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

Можно выделить следующие этапы: Постановка и анализ задачи, определение требований; Проектирование, Разработка, написание кода; тестирование, отладка и оценка качества; документирование. внедрение и сопровождение. Этапы разработки Постановка и анализ задачи Проектирование Разработка и написание кода Тестирование и отладка Документирование

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

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

Проектирование Принято различать логическое и физическое проектирование. Логическое проектирование не учитывает особенностей среды, в которой будет выполняться программа (технические и программные средства компьютера). При выполнении физического проектирования все эти параметры должны быть учтены. Постановка и анализ задачи Проектирование Разработка и написание кода Тестирование и отладка Документирование

Логическое проектирование при процедурном подходе предполагает детальную проработку последовательности действий будущей программы. Определяется структура программы (программ) и разрабатывается алгоритм. Логическое проектирование

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

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

Свойства алгоритма Дискретность. Выполнение алгоритма разбивается на последовательность законченных действий-шагов.

Детерминированность. Способ решения задачи однозначно определен в виде последовательности шагов.

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

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

Массовость. Алгоритм пригоден для решения любой задачи из некоторого класса задач.

При изучении алгоритмов важно разделять два понятия: запись алгоритма и выполнение алгоритма. В учебно- научной литературе термин «алгоритм» используется как в первом, так и во втором значении. Для более четкого изложения нужно конкретизировать употребление этого термина!

Различают последовательности действий линейной, разветвленной и циклической структуры.

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

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

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

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

циклические процессы, завершающиеся по достижении или нарушении некоторых условий - итерационные циклы;

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

Способы задания: текстовая форма записи; запись в виде блок-схемы; запись алгоритма на каком-либо алгоритмическом языке; представление алгоритма в виде машины Тьюринга или машины Поста. Способы записи алгоритма

Вне зависимости от выбранной формы записи элементарные шаги алгоритма (команды) при укрупнении объединяются в алгоритмические конструкции: последовательные, ветвящиеся, циклические, рекурсивные. В 1969 году Эдсгер В. Дейкстра в статье «Структуры данных и алгоритмы» доказал, что для записи любого алгоритма достаточно трех основных алгоритмических конструкций: последовательных, ветвящихся, циклических.

Блок-схема алгоритма( ГОСТ ) Блок-схема алгоритма представляет собой диаграмму, на которой изображена последовательность действий, выполняемых программой. Блок - схема

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

Ввод и вывод данных. Фрагмент программы, в котором пользователь вводит данные или программа выводит результаты на экран.

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

Структура принятия решения. Фрагмент программы, в котором принимается решение о направлении вычислительного процесса. В ромб всегда входит одна линия, а выходят две. Одна из выходящих линий отмечается словом "Да", а другая "Нет".

Счетные циклы.

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

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

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

Базовые конструкции:

Выбор:

Цикл с пост условием (цикл-до)

Цикл с заданным числом повторений

Перечисленные структуры были положены в основу структурного программирования

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

Базовые конструкции :

Алгоритм Евклида :

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

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

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

Физическое проектирование. При выполнении физического проектирования осуществляют привязку разрабатываемого программного обеспечения к имеющемуся набору технических и программных средств. Физическое проектирование Постановка и анализ задачи Проектирование Разработка и написание кода Тестирование и отладка Документирование

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

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

Программа преобразующая программу, записанную на одном из языков высокого уровня, в программу на машинном языке - транслятор.

Трансляторы реализуются в виде компиляторов или интерпретаторов.

Интерпретатор (англ. interpreter истолкователь, устный переводчик) переводит и выполняет программу строка за строкой.

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

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

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

После работы компоновщика получаем исполняемую программу

На этом этапе основным инструментом, обязательным к применению, является средство разработки приложений, система программирования: Borland Jbuilder, Borland Delphi, Borland Developer Studio, Borland C++ Builder, Microsoft Visual Basic, Microsoft Visual C++, C#, Microsoft Visual Studio, Microsoft Visual Studio.NET

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

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

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

Тестированием называют процесс выполнения программы при различных тестовых наборах данных с целью обнаружения ошибок

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

Документирование В простейшем случае файл справочной системы можно создать с помощью Microsoft Word и утилит от Microsoft для создания help-файлов, включаемых в состав многих средств разработки, но при большом объеме работы нередко используются специализированные средства таких компаний, как Blue Sky Software, EC Software, JGsoft. Постановка и анализ задачи Проектирование Разработка и написание кода Тестирование и отладка Документирование

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

Внедрение и сопровождение Для создания дистрибутивных приложения также применяются специализированные средства, лидерами рынка которых являются компании InstallShield Software и Wise Solutions. На этапе сопровождения продукта, как показывает практика, может понадобиться все, что было произведено при работе над проектом, и соответственно любой из инструментов.