Презентация на тему: Основы программной инженерии

Реклама. Продолжение ниже
Основы программной инженерии
Основные этапы разработки программ
Постановка задачи
К чему может привести непонимание между заказчиком и разработчиком ПО
Внешняя спецификация программы
Состав внешней спецификации
Разработка алгоритма
Свойства алгоритмов
Процесс алгоритмизации
Способы описания алгоритмов
Словесно-формульный способ
Стандарты графических изображений блоков
Применение блок-схем
Пример псевдокода для функции печати массива
Технология разработки алгоритмов
Базисные управляющие структуры
Дополнительные управляющие структуры
Написание программы на языке программирования
Порядок прохождения задач через ЭВМ
Трансляция программы
Компиляция программы
Компоновка программы
Выполнение программы
Тестирование программы
Отладка программы
Примеры синтаксических ошибок
Примеры семантических ошибок
Примеры логических ошибок
Последовательность обнаружения ошибок
Методы отладки
Трудоемкость этапов
Сопровождение ПО
1/32
Средняя оценка: 4.8/5 (всего оценок: 31)
Код скопирован в буфер обмена
Скачать (729 Кб)
Реклама. Продолжение ниже
1

Первый слайд презентации: Основы программной инженерии

Изображение слайда
1/1
2

Слайд 2: Основные этапы разработки программ

Этапы 1. Постановка задачи 8. Выполнение 2. Выбор метода решения 9. Тестирование 3. Разработка алгоритма 10. Отладка 4. Написание программы на языке программирования 11. Документирование 5. Ввод программы в компьютер 12. Эксплуатация 6. Трансляция 13. Модификация 7. Компоновка 14. Снятие с эксплуатации

Изображение слайда
1/1
3

Слайд 3: Постановка задачи

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

Изображение слайда
1/1
4

Слайд 4: К чему может привести непонимание между заказчиком и разработчиком ПО

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

Изображение слайда
Изображение для работы со слайдом
1/2
5

Слайд 5: Внешняя спецификация программы

Внешняя спецификация - достаточно полная и точная формулировка решаемой задачи Формальная спецификация программы: {Q}S{R}, где Q – предусловие программы S, R – постусловие программы S Если выполнение программы S началось в состоянии, удовлетворяющем Q, то имеется гарантия, что оно завершится через конечное время в состоянии, удовлетворяющем R

Изображение слайда
1/1
6

Слайд 6: Состав внешней спецификации

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

Изображение слайда
1/1
7

Слайд 7: Разработка алгоритма

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

Изображение слайда
1/1
Реклама. Продолжение ниже
8

Слайд 8: Свойства алгоритмов

Дискретность – возможность разбиения на шаги Понятность – ориентация на конкретного исполнителя Определенность – однозначность толкования инструкций Конечность – возможность получения результата за конечное число шагов Массовость – применимость к некоторому классу объектов Эффективность – оптимальность времени и ресурсов, необходимых для реализации алгоритма

Изображение слайда
1/1
9

Слайд 9: Процесс алгоритмизации

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

Изображение слайда
1/1
10

Слайд 10: Способы описания алгоритмов

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

Изображение слайда
1/1
11

Слайд 11: Словесно-формульный способ

Пусть необходимо найти значение выражения: у=2а-(х+6) Словесно-формульным способом алгоритм решения этой задачи может быть записан в следующем виде: 1.    Ввести значения а и х 2.    Сложить х и 6 3.    Умножить а на 2 4.    Вычесть из 2а сумму ( х+6 ) 5.    Вывести у как результат вычисления выражения При словесно-формульном способе алгоритм записывается в виде текста с формулами по пунктам, определяющим последовательность действий

Изображение слайда
1/1
12

Слайд 12: Стандарты графических изображений блоков

Наименование символа Обозначение и размеры Функция Процесс (вычислительный блок) Выполнение операции или группы операций, в результате которых изменяются значение, форма представления или расположение данных Решение (логический блок) Выбор направления выполнения алгоритма в зависимости от некоторых условий Модификация (заголовок цикла) Выполнение операций по управлению циклом – повторением команды или группы команд алгоритма Пуск-останов (начало-конец) Начало или конец выполнения программы или подпрограммы Предопределенный процесс (вызов подпрограммы) Вызов и использование ранее созданных и отдельно описанных алгоритмов (подпрограмм) Ввод/вывод Общее обозначение ввода или вывода данных в алгоритме безотносительно к внешнему устройству Соединитель Указание прерванной связи между блокам в пределах одной страницы Межстраничный соединитель Указание прерванной связи между блоками, расположенными на разных листах а = 10, 15, 20 мм; b  = 1,5а

Изображение слайда
1/1
13

Слайд 13: Применение блок-схем

Изображение слайда
1/1
14

Слайд 14: Пример псевдокода для функции печати массива

Вход: a – массив целых чисел, n – количество элементов в массиве Выход: - пока не конец массива делать печатать очередной элемент массива все пока

Изображение слайда
1/1
Реклама. Продолжение ниже
15

Слайд 15: Технология разработки алгоритмов

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

Изображение слайда
1/1
16

Слайд 16: Базисные управляющие структуры

где P – условие, S – оператор а) следование; б)  ветвление; в)  цикл с предусловием Базисный набор управляющих структур является функционально полным

Изображение слайда
1/1
17

Слайд 17: Дополнительные управляющие структуры

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

Изображение слайда
1/1
18

Слайд 18: Написание программы на языке программирования

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

Изображение слайда
1/1
19

Слайд 19: Порядок прохождения задач через ЭВМ

Ввод программы в компьютер и сохранение ее на диске Исходный текст программы Directory (Рабочий каталог) name.pas Компилятор (Compiler) Объектный код программы Output Directory name.obj Компоновщик (Linker ) Библиотечные файлы Library Directory Исполняемая программа name.exe

Изображение слайда
1/1
20

Слайд 20: Трансляция программы

Компиляция - преобразование объектов (данных и операций над ними) с входного языка в объекты на другом языке для всей программы в целом с последующим выполнением полученной программы в виде отдельного шага Интерпретация - анализ отдельного объекта на входном языке с одновременным выполнением (интерпретацией) Трансляция — это преобразование программы с одного языка программирования в семантически эквивалентный текст на другом языке

Изображение слайда
1/1
21

Слайд 21: Компиляция программы

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

Изображение слайда
Изображение для работы со слайдом
1/2
22

Слайд 22: Компоновка программы

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

Изображение слайда
1/1
23

Слайд 23: Выполнение программы

Исполняемый файл — это файл, содержащий программу в том виде, в котором она может быть исполнена компьютером Формат исполняемого файла — это соглашение о размещении в нём машинных команд и вспомогательной информации В операционной системе Windows основным является формат исполняемых файлов PE (от англ. portable executable — переносимый исполняемый). Файлы этого формата обычно имеют расширение «.exe» или «.dll ». При этом непосредственно выполнить можно только файлы с расширением «.exe»

Изображение слайда
1/1
24

Слайд 24: Тестирование программы

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

Изображение слайда
1/1
25

Слайд 25: Отладка программы

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

Изображение слайда
1/1
26

Слайд 26: Примеры синтаксических ошибок

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

Изображение слайда
1/1
27

Слайд 27: Примеры семантических ошибок

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

Изображение слайда
1/1
28

Слайд 28: Примеры логических ошибок

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

Изображение слайда
1/1
29

Слайд 29: Последовательность обнаружения ошибок

ошибки трансляции (компиляции): ошибки соответствия синтаксису языка ошибки компоновки (ошибки связи); ошибки данных; ошибки выполнения ошибки логики

Изображение слайда
1/1
30

Слайд 30: Методы отладки

Отладка за столом: просмотр; проверка; прокрутка; Программный способ отладки (так называемая отладочная печать): эхо–печать входных данных; печать в ветвях программы; печать в узлах программы; Аппаратный способ (встроенные интегрированные средства отладки): выполнение по шагам просмотр переменных в окне наблюдения; локализация места ошибки при выполнении программы до курсора

Изображение слайда
1/1
31

Слайд 31: Трудоемкость этапов

Этапы Трудозатраты Ошибки Появление Выявление Постановка задачи Математическая формулировка Выбор метода решения 10% 40-46% 50% Составление алгоритма Написание программы на языке программирования 20% 15% 35-38% Ввод программы в компьютер Выполнение программы 5% 5-10% Тестирование Отладка 40% 45% Документирование Эксплуатация Модернизация 10% 3%

Изображение слайда
1/1
32

Последний слайд презентации: Основы программной инженерии: Сопровождение ПО

внесение изменений в ПО в целях исправления ошибок, повышения производительности или адаптации к изменившимся условиям работы или требованиям Эксплуатация ПО Эксплуатация системы выполняется в предназначенной для этого среде в соответствии с пользовательской документацией

Изображение слайда
1/1
Реклама. Продолжение ниже