Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Основы программирования и баз данных

Содержание

Кашкин Евгений Владимирович ekashkin@specialist.ru Образование:2001-2006 г.г. Политехнический колледж №19. Специальность «Вычислительные машины, комплексы, системы и сети»2006-2009 г.г. АНО ВПО «Институт деловой карьеры». Специальность «Прикладная информатика в экономике»Опыт работы:Преподаватель ИДК, заместитель декана ИДК. Старший
Основы программирования и баз данныхМодуль 3.  Методологии и языки программирования Кашкин Евгений  Владимирович  ekashkin@specialist.ru  Образование:2001-2006 г.г. Политехнический колледж №19. Цели занятияСтадии и этапы разработки программ. Проектирование. Реализация.Проблемы программирования;Методологии программирования. Классификация методологий Стадии и этапы разработки программ. Определяются стандартами:ГОСТ 34.601-90ISO/IEC 12207:2008 «System and software Стандарт ГОСТ 34.601-90Стандарт ГОСТ 34.601-90 предусматривает следующие стадии и этапы создания автоматизированной системы:Формирование требований к АСРазработка Модели жизненного циклаМодель жизненного цикла ПО — структура, определяющая последовательность выполнения и взаимосвязи Водопадная (каскадная, последовательная) модельВодопадная модель жизненного цикла была предложена в 1970 г. Уинстоном Итерационная модельМодель предполагает разбиение жизненного цикла проекта на последовательность итераций, каждая из Спиральная модельСпиральная модель  была разработана в середине 1980-х годов Барри Боэмом. При использовании Проблемы программированияЛокальное  программированиеГлобальное  программирование Локальное программированиеПроблемы системы типовПри передачи значения одного типа данных с разным размером Глобальное программированиеПри работе с программными компонентами, написанными разными программистами и при помощи Методологии программированияМетодология программирования — совокупность методов, применяемых на различных стадиях жизненного цикла программного обеспечения и Классификация по ядрамПри подходе к методологии, как имеющей ядро, соответствующее способу описания алгоритма, Методология структурного программированияСтрукту́рное программи́рование — методология разработки программного обеспечения, в основе которой лежит представление Методология императивного программированияИмперати́вное программи́рование — это парадигма программирования, которая описывает процесс вычисления в виде инструкций, Методология объектно-ориентированного программированияВ центре ООП находится понятие объекта. Объект — это сущность, которой Методология функционального программированияФункциона́льное программи́рование — раздел дискретной математики и парадигма программирования, в которой процесс вычисления трактуется как Методология логического программированияЛоги́ческое программи́рование — парадигма программирования, основанная на автоматическом доказательстве теорем, а также Методология программирования в ограниченияхПрограммирование в ограничениях (или программирование ограничениями) является парадигмой программирования, в которой отношения Структурное программирование. Пошаговая детализация и нисходящее проектированиеТехнология нисходящего проектирования с пошаговой детализацией является неотъемлемой Пример пошаговой детализации Объектно-ориентированное программирование Абстракция Абстрагирование — это способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые. Классификация языков программирования ВопросыКакие модели жизненного цикла существуют? В чем их отличие?Какие методологии разработки программного ВыводыВ рамках данного модуля были получены базовые знания в области методологий разработки
Слайды презентации

Слайд 2 Кашкин Евгений Владимирович ekashkin@specialist.ru
Образование:
2001-2006 г.г. Политехнический колледж №19. Специальность «Вычислительные

Кашкин Евгений Владимирович ekashkin@specialist.ru Образование:2001-2006 г.г. Политехнический колледж №19. Специальность «Вычислительные

машины, комплексы, системы и сети»
2006-2009 г.г. АНО ВПО «Институт

деловой карьеры». Специальность «Прикладная информатика в экономике»

Опыт работы:
Преподаватель ИДК, заместитель декана ИДК. Старший преподаватель МГУПИ, общий стаж работы в образовательной сфере 10 лет из них в ВУЗах 4 года.

Работа в сфере программирования, в том числе создание проектов с применением языков высокого уровня С/С++/Pascal/Delphi/Visual C++ более 5 лет.

Слайд 3 Цели занятия
Стадии и этапы разработки программ. Проектирование. Реализация.
Проблемы

Цели занятияСтадии и этапы разработки программ. Проектирование. Реализация.Проблемы программирования;Методологии программирования. Классификация

программирования;
Методологии программирования. Классификация методологий программирования (структурное, объектно-ориентированное, логическое, функциональное,

программирование в ограничениях).
Структурное программирование. Базовые принципы (пошаговая детализация, модульное структурное программирование);
Объектно-ориентированное программирование. Базовые принципы (абстрагирование; инкапсуляция; наследование, полиморфизм);
Языки программирования. Классификация.

Слайд 4 Стадии и этапы разработки программ.
Определяются стандартами:
ГОСТ 34.601-90
ISO/IEC

Стадии и этапы разработки программ. Определяются стандартами:ГОСТ 34.601-90ISO/IEC 12207:2008 «System and

12207:2008 «System and software engineering — Software life cycle processes»

(российский аналог — ГОСТ Р ИСО/МЭК 12207-2010 Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств)


Слайд 5 Стандарт ГОСТ 34.601-90
Стандарт ГОСТ 34.601-90 предусматривает следующие стадии и этапы создания автоматизированной

Стандарт ГОСТ 34.601-90Стандарт ГОСТ 34.601-90 предусматривает следующие стадии и этапы создания автоматизированной системы:Формирование требований к

системы:
Формирование требований к АС
Разработка концепции АС
Техническое задание
Эскизный проект
Технический проект
Рабочая

документация
Ввод в действие
Сопровождение АС.

Слайд 6 Модели жизненного цикла
Модель жизненного цикла ПО — структура, определяющая

Модели жизненного циклаМодель жизненного цикла ПО — структура, определяющая последовательность выполнения и

последовательность выполнения и взаимосвязи процессов, действий и задач на

протяжении жизненного цикла. Модель жизненного цикла зависит от специфики, масштаба и сложности проекта и специфики условий, в которых система создается и функционирует.
Модель ЖЦ ПО включает в себя:
Стадии;
Результаты выполнения работ на каждой стадии;
Ключевые события — точки завершения работ и принятия решений.


Слайд 7 Водопадная (каскадная, последовательная) модель
Водопадная модель жизненного цикла была

Водопадная (каскадная, последовательная) модельВодопадная модель жизненного цикла была предложена в 1970

предложена в 1970 г. Уинстоном Ройсом. Она предусматривает последовательное выполнение

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


Слайд 9 Итерационная модель
Модель предполагает разбиение жизненного цикла проекта на

Итерационная модельМодель предполагает разбиение жизненного цикла проекта на последовательность итераций, каждая

последовательность итераций, каждая из которых напоминает «мини-проект», включая все

процессы разработки в применении к созданию меньших фрагментов функциональности, по сравнению с проектом в целом. Цель каждой итерации — получение работающей версии программной системы, включающей функциональность, определённую интегрированным содержанием всех предыдущих и текущей итерации. Результат финальной итерации содержит всю требуемую функциональность продукта. Таким образом, с завершением каждой итерации продукт получает приращение — инкремент — к его возможностям, которые, следовательно, развиваются эволюционно. Итеративность, инкрементальность и эволюционность в данном случае есть выражение одного и то же смысла разными словами со слегка разных точек зрения[3].

Слайд 11 Спиральная модель
Спиральная модель  была разработана в середине 1980-х

Спиральная модельСпиральная модель  была разработана в середине 1980-х годов Барри Боэмом. При

годов Барри Боэмом. При использовании этой модели ПО создается в

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


Слайд 13 Проблемы программирования
Локальное программирование

Глобальное программирование

Проблемы программированияЛокальное программированиеГлобальное программирование

Слайд 14 Локальное программирование
Проблемы системы типов
При передачи значения одного типа

Локальное программированиеПроблемы системы типовПри передачи значения одного типа данных с разным

данных с разным размером выделяемой памяти (int(2) -> double(8))
Проблемы

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


Слайд 15 Глобальное программирование
При работе с программными компонентами, написанными разными

Глобальное программированиеПри работе с программными компонентами, написанными разными программистами и при

программистами и при помощи разных языков программирования в различных

средах, и последующих попытках собрать эти компоненты в одну распределенную систему, программисту придется решить бесчисленное множество проблем глобального программирования.
Проблема именования (Naming)
Определение имен переменных разными разработчиками
Обработка ошибок (error handling) При возникновении ошибок возвращаемый код не унифицирован
Безопасность (security)
Нет гарантий при передачи данных через Интернет
Контроль версий (versioning)
Несовместимость версий ПО
Масштабируемость (scalability)
Невозможность использования большого количества пользователей (Интернет)

Слайд 16 Методологии программирования
Методология программирования — совокупность методов, применяемых на различных

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

стадиях жизненного цикла программного обеспечения и имеющих общий философский подход.

Классификации:
Классификация по

ядрам
Классификация по топологической специфике
Классификация по специфике реализации



Слайд 17 Классификация по ядрам
При подходе к методологии, как имеющей ядро,

Классификация по ядрамПри подходе к методологии, как имеющей ядро, соответствующее способу описания

соответствующее способу описания алгоритма, и дополнительные особенности, можно выделить следующие

пять основных ядер методологий:
Методология императивного программирования
Методология структурного программирования
Методология ООП
Методология функционального программирования
Методология логическое программирование
Методология программирования в ограничениях


Слайд 18 Методология структурного программирования
Структу́рное программи́рование — методология разработки программного обеспечения, в

Методология структурного программированияСтрукту́рное программи́рование — методология разработки программного обеспечения, в основе которой лежит

основе которой лежит представление программы в виде иерархической структуры блоков.

Предложена в 70-х годах XX века Э. Дейкстрой, разработана и дополнена Н. Виртом.
В соответствии с данной методологией любая программа представляет собой структуру, построенную из трёх типов базовых конструкций:
последовательное исполнение — однократное выполнение операций в том порядке, в котором они записаны в тексте программы;
ветвление — однократное выполнение одной из двух или более операций, в зависимости от выполнения некоторого заданного условия;
цикл — многократное исполнение одной и той же операции до тех пор, пока выполняется некоторое заданное условие (условие продолжения цикла).
В программе базовые конструкции могут быть вложены друг в друга произвольным образом, но никаких других средств управления последовательностью выполнения операций не предусматривается.


Слайд 19 Методология императивного программирования
Императи́вное программи́рование — это парадигма программирования, которая описывает

Методология императивного программированияИмперати́вное программи́рование — это парадигма программирования, которая описывает процесс вычисления в

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

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

Слайд 20 Методология объектно-ориентированного программирования
В центре ООП находится понятие объекта.

Методология объектно-ориентированного программированияВ центре ООП находится понятие объекта. Объект — это сущность,

Объект — это сущность, которой можно посылать сообщения, и которая

может на них реагировать, используя свои данные. Объект — это экземпляр класса. Данные объекта скрыты от остальной программы.

Слайд 21 Методология функционального программирования
Функциона́льное программи́рование — раздел дискретной математики и парадигма программирования, в

Методология функционального программированияФункциона́льное программи́рование — раздел дискретной математики и парадигма программирования, в которой процесс вычисления трактуется

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


Слайд 22 Методология логического программирования
Логи́ческое программи́рование — парадигма программирования, основанная на автоматическом

Методология логического программированияЛоги́ческое программи́рование — парадигма программирования, основанная на автоматическом доказательстве теорем, а

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

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

Слайд 23 Методология программирования в ограничениях
Программирование в ограничениях (или программирование ограничениями) является парадигмой

Методология программирования в ограниченияхПрограммирование в ограничениях (или программирование ограничениями) является парадигмой программирования, в которой

программирования, в которой отношения между переменными указаны в форме

ограничений. Ограничения определяют не последовательность шагов для исполнения, а свойства искомого решения. Ограничения, которые используются в программировании в ограничениях, бывают различных видов: те, которые используются в задачах удовлетворения ограничений (например, «А или В истинно»), те, которые решаются симплекс-алгоритмом (например, «x ≤ 5») и другие. Ограничения, как правило, встроены в язык программирования или осуществляются через отдельные программные библиотеки.

Слайд 24 Структурное программирование.

Структурное программирование.

Слайд 25 Пошаговая детализация и нисходящее проектирование
Технология нисходящего проектирования с

Пошаговая детализация и нисходящее проектированиеТехнология нисходящего проектирования с пошаговой детализацией является

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

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

Слайд 26 Пример пошаговой детализации

Пример пошаговой детализации

Слайд 27 Объектно-ориентированное программирование

Объектно-ориентированное программирование

Слайд 28 Абстракция
 Абстрагирование — это способ выделить набор значимых характеристик объекта,

Абстракция Абстрагирование — это способ выделить набор значимых характеристик объекта, исключая из рассмотрения

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

таких характеристик.

Инкапсуляция 
Инкапсуляция — это свойство системы, позволяющее объединить данные и методы, работающие с ними в классе, и скрыть детали реализации от пользователя.

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



Полиморфизм 
Полиморфизм — это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.



Слайд 29 Классификация языков программирования

Классификация языков программирования

Слайд 30 Вопросы
Какие модели жизненного цикла существуют? В чем их

ВопросыКакие модели жизненного цикла существуют? В чем их отличие?Какие методологии разработки

отличие?
Какие методологии разработки программного обеспечения существуют?
На какие группы разделяются

языки программирования?
В чем отличительные особенности объектно-ориентированного программирования?

  • Имя файла: osnovy-programmirovaniya-i-baz-dannyh.pptx
  • Количество просмотров: 156
  • Количество скачиваний: 0